Редирект на .htaccess

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем RedRabbit, 8 май 2015.

  1. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    608
    Симпатии:
    251
    Здравствуйте, есть конструкция вида:

    Код:
    RewriteRule ^get/(.+) /redirect.php/$1 [L]
    Если ссылка будет:
    Перейти по ссылке
    То все хорошо, идет перенаправление на redirect.php с нужным мне параметром.
    А вот если ссылка:
    Перейти по ссылке
    или
    Перейти по ссылке
    Редирект естественно не работает, как переписать правило, что бы работало?
     
  2. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    351
    Симпатии:
    124
    У тебя в правиле в начале стоит крышка ^
    Она означает "от начала строки". Убери её все будет работать.
    Код:
    RewriteRule get/(.+) /redirect.php/$1 [L]
    Правда в таком случае будет цеплять и ламать урлы, которые в конце содержат слово get Перейти по ссылке
    Если таких урлов нет - всё будет работать, если есть - можно вместо 1 правила написать 2 и всё будет работать...
    Код:
    RewriteRule ^get/(.+) /redirect.php/$1 [L]
    RewriteRule .+/get/(.+) /redirect.php/$1 [L]
    
     
    RedRabbit нравится это.
  3. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    205
    Симпатии:
    258
    Еще пара вариантов
    Код:
    RewriteRule (?<![^/])get/(.+) /redirect.php/$1 [L]
    
    RewriteRule (?:^|/)get/(.+) /redirect.php/$1 [L]