@stichii

Как исключить страницы из редиректа?

Добрый день! нужно настроить редирект для всех страниц старого сайта(site-old.ru) на новую страницу нового сайта(site.ru/page1/). В этом проблем не было все настроено
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site-old.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.site-old.ru$
RewriteRule ^(.*)$ http://site.ru/page1/ [L,R=301]

Но теперь нужно добавить исключение для некоторых страниц старого сайта. Что бы для определенных страниц старого сайта не срабатывал редирект.
На тостере есть вопрос + ответ Как добавить исключение к правилу перенаправления в htaccess?
Делаю так же.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site-old.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.site-old.ru$
RewriteCond %{REQUEST_URI} ^!kontaktyi/$
RewriteRule ^(.*)$ http://site.ru/page1/ [L,R=301]

Но тогда редирект вообще перестает работать. Не подскажете в чем ошибка?
  • Вопрос задан
  • 2943 просмотра
Пригласить эксперта
Ответы на вопрос 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Добрый.

Попробуйте так
RewriteCond %{REQUEST_URI} !^/kontaktyi/$

Вероятно, Вам также потребуются исключения для файлов
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


Вытащил с работающего проекта, возможно, поможет
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteCond %{REQUEST_URI} !^/en$
RewriteCond %{REQUEST_URI} !^/en/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы