Вопрос к знатокам регулярных выражений - как прописать фразу-исключение

(Ответов: 4, Просмотров: 1403)
  1. Студент
    • Регистрация: 01.10.2011
    • Сообщений: 43
    • Репутация: 3
    Переехал с одного домена на другой (site1.ru -> site2.ru).
    Прописал редирект в .htacess site1.ru:

    Options +FollowSymLinks
    RewriteEngine on

    RedirectMatch 301 /(.*)$ http://site2.ru/$1
    Работает хорошо, редиректит все страницы.
    То есть, зашел с поиска на site1.ru/abc - тебя перекинуло site2.ru/abc

    Но как сейчас прописать исключение, чтобы редиректил все страницы кроме robots.txt ?
    То есть, если зайти на site1/robots.txt - тебя не перекидывало на site2.ru/robots.txt, а с site1.ru/abc - тебя перекинуло на site2.ru/abc ?

    RedirectMatch 301 /(.*^robots\.txt)$ http://site2.ru/$1
    не работает.
    В регулярных выражениях пока не очень разбираюсь...


    UPD:
    Модераторы, перекиньте, пожалуйста, тему в соответствующий раздел - не заметил где создал
    • 0
  2. Опытный Аватар для Maximal
    • Регистрация: 01.06.2011
    • Сообщений: 254
    • Репутация: 32
    а) отдельный RedirectMatch 301 для требуемых страниц, правила разместить выше (или RedirectPermanent /old-url.html http://new-site.ru/new-url.html)
    б) RedirectMatch 301 /((.*)^robots\.txt))$ http://site2.ru/$1 если правильно понял синтаксис

    ---------- Сообщение добавлено 05:24 ---------- Предыдущее 05:22 ----------

    заюзал яндекс
    http://yandex.ru/yandsearch?clid=958...BC%D0%B5&lr=54

    Редиректы | Записки продвиженца

    мой вариант а) самый правильный
    • 1

    Спасибо сказали:

    instigator(15.12.2012),
  3. Студент
    • Регистрация: 01.10.2011
    • Сообщений: 43
    • Репутация: 3
    Maximal, СПАСИБО БОЛЬШОЕ!

    Options +FollowSymLinks
    RewriteEngine on

    Redirect permanent /robots.txt /robots.txt

    RedirectMatch 301 /(.*)$ http://site2.ru/$1
    - работает!
    • 0
  4. Опытный Аватар для Maximal
    • Регистрация: 01.06.2011
    • Сообщений: 254
    • Репутация: 32
    instigator, не за что
    только Screaming Frog SEO Spider проверьте, чтобы рекурсии не было
    т.е. чтобы http://...robots.txt выдавал правильный код (не бесконечно 301)
    а то некоторые не закрывают [L] и потом поисковики в экстазе бьются
    • 0
  5. Студент
    • Регистрация: 01.10.2011
    • Сообщений: 43
    • Репутация: 3
    только Screaming Frog SEO Spider проверьте, чтобы рекурсии не было
    т.е. чтобы http://...robots.txt выдавал правильный код (не бесконечно 301)
    Да, проверил - именно эта ошибка и была (бесконечный редирект) при загрузке site1.ru/robots.txt

    Корректный код:

    Options +FollowSymLinks

    # исключение для robots.txt

    <FilesMatch "^(?!(.*robots.txt))">

    RewriteEngine on
    RedirectMatch 301 (.*) http://site2.ru/$1

    </FilesMatch>
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Бесплатный тестер регулярных выражений
Софт, скрипты, сервисы 0 21.09.2012 13:54
Знатокам htaccess
Web программирование 2 12.04.2012 20:10
Вопрос к знатокам Modx
Web программирование 4 04.08.2011 15:13
Вопрос знатокам внутренней оптимизации.
Вопросы от новичков 2 21.07.2011 20:58

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры