下载Apache2 mod_rewrite

时间:2015-05-18 10:32:32

标签: apache .htaccess mod-rewrite

我的项目中有这个.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)

提前感谢您的帮助

1 个答案:

答案 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]