Преобразовывать при заходе на урл со слешем в конце в урл без слеша

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем inkubus, 23 дек 2010.

Статус темы:
Закрыта.
  1. inkubus

    inkubus

    Регистр.:
    27 мар 2010
    Сообщения:
    180
    Симпатии:
    56
    Подскажите, плиз, может кто сталкивался.
    Нужно чтобы при заходе серфера по урлу Перейти по ссылке
     
  2. inkubus

    inkubus

    Регистр.:
    27 мар 2010
    Сообщения:
    180
    Симпатии:
    56
    Немножко поясню: key-key - это не папка, а текстовый файл, закешированная страница, и их около тысячи, ключи разные, естественно и названия файлов. То есть при наборе адреса со слешем в конце серчер не попадает на приготовленную для него страницу, так как готовилась она без слэша... Возможно Ваш способ сработает, но тогда нужно какое-то регулярное выражение для редиректа, подскажите пожалуйста какое.
    урл вида Перейти по ссылке
    Перейти по ссылке
    требуется чтобы серчер, который обнаружив неправильную ссылку вида Перейти по ссылке
    Добавлено через 1 минуту
    у нас с адресами на самом деле всё в порядке, это к нам по неправильным адресам пытаются попасть ))
    и ещё уточню -- как будет выглядеть код в случае с доменом domen.co.cc
     
  3. lamer2

    lamer2 Постоялец

    Регистр.:
    1 апр 2008
    Сообщения:
    73
    Симпатии:
    30
    PHP:
    RewriteEngine on
    RewriteBase 
    /
    RewriteRule ^(.*)/$ http://domen.com/$1 [R=301,L]

    #Прописываем в корневой .htaccess и все пути http://domen.com/здесь-что-угодно/ меняются на http://domen.com/здесь-что-угодно
    PS: может возникнуть проблема если на сайте есть урлы в которых в конце всё-же должен быть слеш.
     
  4. bat

    bat

    Регистр.:
    24 сен 2009
    Сообщения:
    975
    Симпатии:
    277
    а где в вашем коде замена куска ссылки? он в обычных условиях должен был бы выглядеть как index.php?id=tree-grass-*
    вот как "*" заменить на понятный для апача символ?
     
    inkubus нравится это.
  5. lamer2

    lamer2 Постоялец

    Регистр.:
    1 апр 2008
    Сообщения:
    73
    Симпатии:
    30
    azybat, не понял вашего вопроса, но исходя из Перейти по ссылке:
    _http://domen.com/key-key/ -это- ^(.*)/
    _http://domen.com/key-key -это- http://domen.com/$1 где $1 символы между "http://domen.com/" и "/"
     
  6. bat

    bat

    Регистр.:
    24 сен 2009
    Сообщения:
    975
    Симпатии:
    277
    дык тс хочет чтоб у него заменялись только страницы содержащие в урл "index.php?id=tree-grass-" и заканчивающиеся на "/". вот что между ними то поставить? )))
     
    inkubus нравится это.
  7. lamer2

    lamer2 Постоялец

    Регистр.:
    1 апр 2008
    Сообщения:
    73
    Симпатии:
    30
    azybat, ну тогда так:
    PHP:
    RewriteCond %{QUERY_STRINGid=tree-grass(.+)/$
    RewriteRule ^index.phphttp://domen.com/index.php?id=tree-grass%1 [R=301,L]
    Пути_http://domen.com/index.php?id=tree-grass-здесь-что-угодно/ должны меняться на_http://domen.com/index.php?id=tree-grass-здесь-что-угодно
     
    inkubus и azybat нравится это.
  8. inkubus

    inkubus

    Регистр.:
    27 мар 2010
    Сообщения:
    180
    Симпатии:
    56
    Код:
    RewriteCond %{QUERY_STRING} id=tree-grass(.+)/$
    RewriteRule ^index.php$ http://domen.com/index.php?id=tree-grass%1 [R=301,L]
    вот этот вариант сработал. Шакарная работа, парни, почтеннейше благодарю за помощь, выручили.
     
Статус темы:
Закрыта.