htaccess: переписать коллизию - простой вопрос - PullRequest
1 голос
/ 01 сентября 2010

Эта строка, безусловно, вызовет небольшое столкновение, поскольку она попытается переписать саму цель:

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

Теперь, как мне предотвратить это?

Ответы [ 2 ]

2 голосов
/ 01 сентября 2010

Просто добавьте условие, что совпадающая строка не совпадает с адресатом:

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

Здесь != в RewriteCond указывает отрицательное лексикографическое сравнение вместо подразумеваемого сравнения регулярных выражений.

0 голосов
/ 01 сентября 2010

Использование условной перезаписи:

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