htaccess 301 перенаправляет весь сайт, но с исключениями - PullRequest
5 голосов
/ 30 июля 2010

Я пытаюсь создать файл htaccess, чтобы перенаправить весь мой сайт, за исключением некоторых исключений, но я не могу заставить его работать.Мне нужно перенаправить всю вещь, обеспечить конкретное перенаправление и исключить две страницы.Ниже мой нерабочий образец.Спасибо!

RewriteCond %{REQUEST_URI} !^/events/index.html
RewriteCond %{REQUEST_URI} !^/calendar/index.html
Redirect 301 /info/faq.html http://mynewsite.com/my-page
Redirect 301 / http://mynewsite.com

Ответы [ 2 ]

16 голосов
/ 31 июля 2010

Вы пытаетесь смешать mod_rewrite с mod_alias, но операторы RewriteCond не могут обусловить операторы Redirect, так как они не поступают из одного модуля.

Полагаю, вам нужно нечто большее, если я правильно понял, чего вы пытались достичь:

RewriteEngine On

RewriteCond %{REQUEST_URI} !=/events/index.html
RewriteCond %{REQUEST_URI} !=/calendar/index.html
RewriteCond %{REQUEST_URI} !=/info/faq.html
RewriteRule ^.*$ http://mynewsite.com/$0 [R=301,L]

Redirect 301 /info/faq.html http://mynewsite.com/my-page
3 голосов
/ 11 декабря 2013

У меня была похожая проблема.Попытка перенаправить весь домен, за исключением его файла robots.txt.Ответ Тима у меня не сработал, но это сработало

RewriteEngine On
RewriteRule robots.txt - [L]
RewriteRule ^.*$ http://www.newsite.com/$0 [R=301,L]
...