2016-05-02 4 views
1

Я пытаюсь получить перенаправление, работающее для всех страниц, с шаблоном, за исключением одного конкретного случая. Я попытался следующие:.htaccess: перенаправить все страницы, кроме одного неработающего

RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ 
RewriteCond %{REQUEST_URI} !^/menu 
RewriteRule ^(.*)$ "http\:\/\/www\.new\.com\/$1" [R=301,L] 

Что я ожидал это

old.com -> new.com 
old.com/abc - > new.com/abc 
old.com/menu -> old.com/menu 

Все переадресовывает работают отлично, за исключением:

old.com/menu -> old.com/http://www.new.com 

, и я не могу понять, почему ,

EDIT: остальные .htaccess

RewriteOptions inherit 
# Use PHP5.4 as default 
AddHandler application/x-httpd-php54 .php 

# For security reasons, Option followsymlinks cannot be overridden. 
#Options +FollowSymLinks 
Options +SymLinksIfOwnerMatch 
RewriteCond %{HTTP_HOST} ^(www.)?old.com$ 
RewriteCond %{REQUEST_URI} !^/web/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /web/$1 
RewriteCond %{HTTP_HOST} ^(www.)?old.com$ 
RewriteRule ^(/)?$ web/ [L] 
+0

Есть ли у вас что-нибудь еще в файле .htaccess? – MrWhite

+0

Добавил остальную часть содержимого. – KobeBryant

+0

'RewriteOptions inherit' - для чего это? Это означает, что у вас есть директивы mod_rewrite в родительском файле конфигурации, которые необходимы - так что это также может быть источником конфликта? Возможно, лучше разместить ваши .htaccess файлы (ы) целиком, с новыми директивами на месте. (Порядок директив важен.) Нет директивы 'RewriteEngine', так что вы опубликовали не полностью. – MrWhite

ответ

0

Попробуйте это правило на основе THE_REQUEST переменной:

RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC] 
RewriteCond %{THE_REQUEST} !/menu [NC] 
RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L,NE] 
+0

С этим old.com/menu отправляется только на new.com – KobeBryant

+0

Это правило полностью пропустит URL-адреса '/ menu'. У вас либо есть плохой кэш в браузере, либо какое-то другое противоречивое правило. – anubhava

Смежные вопросы