以下是我的重写规则,
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^mypage$ index1.php [L]
RewriteRule ^.*$ index2.php [L]
</IfModule>
我想URI“/ mypage”将重写为index1.php,否则重写为index2.php。但URI“/ mypage”总是重写为index2.php,我不明白为什么。我该如何解决?
答案 0 :(得分:0)
是的,您的规则的编写方式是/mypage/?
被重写为/index1.php
,然后第二次重写规则会将/index1.php
重写为/index2.php
。所以最后得到/index2.php
。
要修复此行为,请遵守此规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^mypage/?$ index1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index2.php [L]
</IfModule>