/ после html

kuminov

Постоялец
Регистрация
20 Окт 2013
Сообщения
173
Реакции
36
доброго времени суток.
сайт переехал с 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 и так и так?
 
слэш на конце 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]
 
на каждую страницу в .ht сделал редирект. теперь вопрос в другом возник. старая страница которая не существует но заканчивается на '/' отдает 404 но все стили съехали.
 
Как сделать правильно 3мя или 4мя строчками в .htaccsses чтобы:
/stranica/ сработал на /stranica.html
/net-takoi-stranicy/ сработал на /404.html

в данный момент в .htaccsses 70 строк с 301 редиректом
 
на каждую страницу в .ht сделал редирект. теперь вопрос в другом возник. старая страница которая не существует но заканчивается на '/' отдает 404 но все стили съехали.
Надо по месту смотреть
 
таксделайте убирать слэш. в первом сообщении рецепт
вообще надо смотреть как mod_rewrite отрабатывает пути до запрошенного файла
.htaccess точно в корне размещен? что в нем можно глянуть /можн в лс
 
Как сделать правильно 3мя или 4мя строчками в .htaccsses чтобы:
/stranica/ сработал на /stranica.html
/net-takoi-stranicy/ сработал на /404.html

Вместе с ErrorDocument будет как раз 3 строчки.
Код:
ErrorDocument 404 /404.html

RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+)/$ /$1.html [R=301,L]
 
Назад
Сверху