我正在尝试将RewriteRule应用于主页。我希望以下规则只能找到主页...
RewriteCond %{REQUEST_URI} ^/$
这不起作用。关于为什么的任何想法?
我在htaccess文件中做的唯一另一件事就是上面的简单测试RewriteRule
......
RewriteRule (.*) /test.php [L,QSA]
答案 0 :(得分:1)
有时,我老实说不确定原因,您会注意到 mod_rewrite之前mod_dir应用于URI 。它应该是,但我注意到^/$
有时工作,有时甚至^$
在重写规则中起作用。正在进行的是DirectoryIndex
获取应用于URI并将其转换为/index.php
或其他任何内容。所以你要做的就是与之匹敌。如下所示:
RewriteCond %{REQUEST_URI} ^/(?:index\.php)$
RewriteRule (.*) /test.php [L,QSA]
或更简单:
RewriteRule ^(?:index\.php)$ /test.php [L,QSA]
这样,/
和/index.php
都会匹配。