htaccess RewriteRule неожиданно перенаправил www - PullRequest
0 голосов
/ 30 сентября 2010

В моем htaccess у меня есть правило -

У меня есть это правило

RewriteRule ^mk$ http://mysite.com/mypage.php [r=301,nc]

и позже:

RewriteCond %{HTTP_HOST} !^mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [QSA,L,R=301]

Это прекрасно работает для http://mysite.com/mk
- он перенаправляет на: http://mysite.com/mypage.php как я хотел.

... но когда я перехожу на http://www.mysite.com/mk, он перенаправляет на http://mysite.com/http://mysite.com/mypage.php

Являются ли эти 2 правила несовместимыми?Может кто-нибудь сказать мне, что происходит и что делать?

Спасибо

1 Ответ

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

Они совместимы, но в вашем случае, я думаю, порядок имеет значение. Я переместил бы host redirect выше mk redirect и попытался бы снова.

Другое дело было бы добавить флаг L (Последний) к правилу mk . Это должно немедленно вызвать перенаправление.

Я не уверен, есть ли у вас какие-либо другие правила, которые вы хотите запустить в первую очередь. Посмотрите, что делает заказ, если это важно для вас. По сути, эти правила объединяются и удваиваются переписываются http://www.mysite.com/mk

...