htaccess:重写碰撞 - 简单的问题

时间:2010-09-01 17:43:24

标签: .htaccess mod-rewrite

这一行肯定会引起一点碰撞,因为它会尝试重写目标本身:

RewriteRule ^/(.*)$ page.php?q=$1 [L,NC]

现在,我该如何防止这种情况?

2 个答案:

答案 0 :(得分:2)

只需添加匹配字符串与目标不同的条件:

RewriteCond $1 !=page.php
RewriteRule ^/(.*)$ page.php?q=$1 [L]

此处!=中的RewriteCond表示否定的词典对照,而不是隐含的正则表达式比较。

答案 1 :(得分:0)

使用条件重写:

RewriteCond %{REQUEST_URI} !^page.php?
RewriteRule ^/(.*)$ page.php?q=$1 [L,NC]