Очень простая запись в .htaccess

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

  1. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Здравствуйте. Стал очень простой вопрос, но с .htaccess я не совсем дружу.
    есть страница, например

    /catalog/246/ и страница /catalog/246 (без слеша вконце), как сделать чтоб рерайтилось на слеш в конце всегда?
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    глобально
    Код:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*)$ $1/ [L,R=301]
    
    если не файл и нет слеша в конце, то перенаправляем на слеш с ошибкой 301
     
    SkiLLer нравится это.
  3. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Еще не пробовал предыдущий пример, хостер повидимому блочит редактирование .htaccess, но наперед - мне не нужна ошибка, не нужен редирект, нужно чтобы вконце всех адресов был "/", если в предыдущем примере так и есть, тогда все гуд и спасибо.
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    ошибка 301 это для поисковых роботов указывает, что ссылка без слеша устарела и страница перенесена на новую ссылку со слешем, если это не нужно, то удалить флаг R=301, останется только [L]
     
  5. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Чет не работает, в адресной строке все равно адрес без слеша остается. Может редирект еще нужно?
     
  6. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Код:
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.*) http://localhost/$1/ [R=301,L]
     
  7. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Примерчик работает, но с одним "но", не грузятся теперь картинки и css. И что прописать вместо "localhost", чтобы не было привязано к одному домену?
     
  8. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    10 символов
    Код:
    RewriteCond %{REQUEST_URI}       !/$
    RewriteRule (.*)$                http://%{HTTP_HOST}/$1 [L,R=301]
    
     
  9. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Забыл за стили и картинки:)
    Код:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^.*\.(css|jpe?g|gif)$
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.*) http://localhost/$1/ [R=301,L]
    upd:исправил
     
    SkiLLer нравится это.
  10. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Появилась новая проблема, есть админка расположеная по хttp://site.ru/admt, есть WYSIWYG-редактор, при добавлении текста, выделяем слово/сочетание нажимаем на кнопку "добавить ссылку" (думаю все знают эту функцию) во всплывающем окне вместо полей для редактирования свойств ссылки появляется главная страница. Как исключить действие .htaccess на данную папку?