我的项目中有这个.htaccess:
RewriteEngine On
RewriteRule ^download/(.*) download.php [QSA]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rwr=$1 [QSA]
如果我去http://localhost/project/download/?f=xxxxx给我一个未找到的错误。
但如果我换到
RewriteEngine On
RewriteRule ^dl/(.*) download.php [QSA]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rwr=$1 [QSA]
我去http://localhost/project/dl/?f=xxxxx工作得很好......
我不明白为什么我不能在重写规则中使用“下载”这个词。
服务器版本:Apache / 2.4.10(Debian)
提前感谢您的帮助
答案 0 :(得分:0)
试试这段代码,让我知道它是如何运作的。
Options -MultiViews
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^download/(.*)/?$ download.php [L,QSA]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rwr=$1 [L,QSA]