.htaccess 带有文件扩展名的重写规则


.htaccess RewriteRule with file extension

这个问题可能是重复的,但我正在尝试通过转换来重写 URL:

http://example.com/file.php?f=the_file_name&ext=the_file_extension

http://example.com/video2.mp4

我尝试了以下重写规则脚本,但它也更改了其他文件夹:

Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+).([^/]+)$ file.php?f=$1&t=$2 [L]

我无法让他们工作。我做错了什么?我怎样才能让它工作?

谢谢!

点是特殊的正则表达式符号,需要转义:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)'.([^/]+)$ file.php?f=$1&t=$2 [L,QSA]