我有这样的网址:www.mydomain.com/file/a-file.pdf
我想要的是如果我的REQUEST_URI从这开始:/file/
那么file.php(在根目录中)应该处理请求。但是,如果URL类似于www.mydomain.com/files/a-file.pdf
,则不应重写。
我已经完成了这项工作,但它无效:
RewriteCond %{REQUEST_URI} ^/file/
RewriteRule .* file.php [L]
如果我删除第一行的最后一行,它就可以正常工作,但www.mydomain.com/files/a-file.pdf
也会重写。
我做错了什么?
答案 0 :(得分:0)
也许最简单的是忽略了与真实文件匹配的请求。扩展如下
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^/file
RewriteRule .* file.php [L]
这假设您的/files/a-file.pdf是一个真实的文件。