/ после html

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

  1. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    64
    Симпатии:
    8
    доброго времени суток.
    сайт переехал с wp на html.
    .htaccess прописал старые урлы с site.ru/ctranica на site.ru/ctranica.html
    но сегодня выявил проблему. оказывается если ранее была сделана запись с ссылкой в google plus то поней переход идет на страницу site.ru/ctranica.html/
    из-за "/" в конце летит все стили сайта и <title>404</title>... подскажите что за фигня....
    ставлю в .htaccess с site.ru/ctranica/ на site.ru/ctranica.html то все ок.
    так как правильно то будет?
    так site.ru/ctranica на site.ru/ctranica.html
    или так site.ru/ctranica/ на site.ru/ctranica.html
    Или третий вариант прописать в .ht и так и так?
     
  2. onnegrio

    onnegrio

    Регистр.:
    15 янв 2010
    Сообщения:
    263
    Симпатии:
    86
    слэш на конце URL убирает
    Код:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} (.*)
    RewriteCond %{REQUEST_URI} /$ [NC]
    RewriteRule ^(.*)(/)$ $1 [L,R=301]
    слэш на конце URL добавляет и делает перенаправление
    Код:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]
     
    kuminov нравится это.
  3. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    64
    Симпатии:
    8
    на каждую страницу в .ht сделал редирект. теперь вопрос в другом возник. старая страница которая не существует но заканчивается на '/' отдает 404 но все стили съехали.
     
  4. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    64
    Симпатии:
    8
    Как сделать правильно 3мя или 4мя строчками в .htaccsses чтобы:
    /stranica/ сработал на /stranica.html
    /net-takoi-stranicy/ сработал на /404.html

    в данный момент в .htaccsses 70 строк с 301 редиректом
     
  5. onnegrio

    onnegrio

    Регистр.:
    15 янв 2010
    Сообщения:
    263
    Симпатии:
    86
    Надо по месту смотреть
     
  6. onnegrio

    onnegrio

    Регистр.:
    15 янв 2010
    Сообщения:
    263
    Симпатии:
    86
    ErrorDocument 404 /404.html
     
  7. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    64
    Симпатии:
    8
    это есть.
    вот к примеру: autorenta. by/wewdwd/
     
  8. onnegrio

    onnegrio

    Регистр.:
    15 янв 2010
    Сообщения:
    263
    Симпатии:
    86
    таксделайте убирать слэш. в первом сообщении рецепт
    вообще надо смотреть как mod_rewrite отрабатывает пути до запрошенного файла
    .htaccess точно в корне размещен? что в нем можно глянуть /можн в лс
     
  9. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    188
    Симпатии:
    227
    Вместе с ErrorDocument будет как раз 3 строчки.
    Код:
    ErrorDocument 404 /404.html
    
    RewriteCond %{DOCUMENT_ROOT}/$1.html -f
    RewriteRule ^(.+)/$ /$1.html [R=301,L]
    
     
  10. kuminov

    kuminov Постоялец

    Регистр.:
    20 окт 2013
    Сообщения:
    64
    Симпатии:
    8
    нет, не срабатывает, переадресует на 404