2013-04-20 3 views
0

Я знаю, как исключать папки, типы файлов, но я не знаю, как исключить ссылку, содержащую определенное слово. У меня есть правило:сопоставлять и исключать ссылки из правила перезаписи

RewriteCond %{HTTP_HOST} ^www\.domain\.com 
RewriteRule (.*) http://en.domain.com/$1 [QSA,L] 

Как исключить из этого правила ссылки, которые есть в начале: index.php? А = админ

ответ

1

Это должно сделать трюк:

RewriteCond %{HTTP_HOST} ^www\.domain\.com 
RewriteCond %{REQUEST_FILENAME} index\.php 
RewriteCond %{QUERY_STRING} !^a=admin 
RewriteRule (.*) http://en.domain.com/$1 [QSA,L] 

Здесь мы добавляем условие, в котором указано, что переписывание может произойти только в том случае, если хост имеет значение www.domain.com, запрашиваемый файл: index.php, а строка запроса не совпадает с a=admin.

Итак, www.domain.com/test перенаправляет на en.domain.com/test, но www.domain.com/index.php?a=admin не будет перенаправлять вообще.

+0

бог благослови вас! –

+0

Добро пожаловать :) –