.htaccess添加另一个规则并不起作用

时间:2015-11-20 17:35:55

标签: php .htaccess mod-rewrite

我的htaccess中有这个功能完美无缺

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^explore/([^/]+)/([^/]+)/([^/]+) renderpage.php?menu=$1&submenu=$2&subsubmenu=$3 [L]

但我需要添加另一个,所以我添加了这个RewriteRule ^profiles/([0-9]+) profiles.php?id=$1 [L]

现在我的htaccess看起来像这样

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^explore/([^/]+)/([^/]+)/([^/]+) renderpage.php?menu=$1&submenu=$2&subsubmenu=$3 [L]

RewriteRule ^profiles/([0-9]+) profiles.php?id=$1 [L]

但是当我去ex:profiles/24我得到404错误但是有profiles.php?id = 24正常工作,我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为这些规则没有任何问题。这应该工作正常。但我确实注意到您正在使用profiles并重写为profiles.php。因此,多视图可能会导致一些有趣的业务。试着关闭它。

Options -MultiViews
RewriteEngine On
...