siv1987: Добавлять надо перед реврайтами, то есть сразу после rewriteengine (в вашем случае rewritebase) а не в конце, тогда поможет. А так конечно не будет работать, если там уже преобразрванный чпу
Да, действительно, помагло, но только для первого уровня, т.е.
работает только на:
сайт.ру/первая категория/
а на ссылке вида:
сайт.ру/перваякатегория/втораякатегория - выдает ошибку: Неверное перенаправление на странице
jumanoid: делюсь своим опытом: мне надо чтобы обращение к сайт.ру/папка переадресовывало на сайт.ру/папка/
Для такой задачи у меня 5 лет работает это правило:
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/ПАПКАГДЕСАЙТ$
RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}/$1/ [R=301]
RewriteBase /путьоткорняwww/ПАПКАГДЕСАЙТ/
Единственное уточнение, что это алиас (работающий в подпапке) к основному домену.
Ну я думаю это не совсем то :) у меня сайт в корне домена, мне нужно убрать в конце слеш у категорий и под категорий :)
делав вот в таком порядке все работает:
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Но на главной пишет что страница не найдена :) вот не задача то
---------- Добавлено 01.12.2013 в 14:24 ----------
Странно, но заработало на всех уровнях, НО на одной категории не работает, в чем может быть проблема?
Добавлять надо перед реврайтами, то есть сразу после rewriteengine (в вашем случае rewritebase) а не в конце, тогда поможет. А так конечно не будет работать, если там уже преобразрванный чпу
Да, действительно, помагло, но только для первого уровня, т.е.
работает только на:
сайт.ру/первая категория/
а на ссылке вида:
сайт.ру/перваякатегория/втораякатегория - выдает ошибку: Неверное перенаправление на странице
делюсь своим опытом: мне надо чтобы обращение к сайт.ру/папка переадресовывало на сайт.ру/папка/
Для такой задачи у меня 5 лет работает это правило:
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/ПАПКАГДЕСАЙТ$
RewriteRule ^(.+[^/])$ http://%{HTTP_HOST}/$1/ [R=301]
RewriteBase /путьоткорняwww/ПАПКАГДЕСАЙТ/
Единственное уточнение, что это алиас (работающий в подпапке) к основному домену.
Ну я думаю это не совсем то :) у меня сайт в корне домена, мне нужно убрать в конце слеш у категорий и под категорий :)
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]
Я верно понял что оно в общем виде должно выглядеть вот так:
# Необходимо для ЧПУ.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]
? :)
---------- Добавлено 01.12.2013 в 13:19 ----------
RewriteRule ^([^.]*[^/])$ /$1/ [L,R=301]
Не помогло :)
#Перманентное обрезание trailing slash
RewriteRule ^(.*)/$ $1 [R=301,L]
☝
Эээ не надо обрезать его :)
т.е. вид сейчас:
сайт.ру/категория - убрать
сайт.ру/категория/ - оставить
сайт.ру/категория/товар.пшп - оставить
:)
Дубли появляются не в htaccess а в вашей кмс
Ясено дело :)
КМС opencart :)
описания товаров мало.
добавьте, особенно тут
Раньше было намного меньше описания но сайт был в десятки раз выше
ну дело может быть не в вашем сайте, а то что конкуренты окрепли - возможно такое ?
Думаю что нет :) не на столько