Завершающий слэш в URL

S
На сайте с 26.10.2007
Offline
74
4163

Добрый день! Возникла проблека, htaccess прописал следующие:

______

# завершающий слэш

# RewriteCond %{REQUEST_FILENAME} !-f

# RewriteCond %{REQUEST_URI} !(.*)/$

# RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]

_________

Что бы URL категории были всегда со "/" на конце. Все работает вроде правильно, НО

URL вида http://sait.ru/addnews.html/ добавляет лишний слеш на конце. Как убрать этот лишний слэш? Хотя страницы с URL http://sait.ru/pictures/25415-blablabla.html - отображаются правильно, без лишнего слэша на конце.

PS Двиг DLE 9.0 лицензия.

A2
На сайте с 17.11.2009
Offline
52
#1
Strongest:
Добрый день! Возникла проблека, htaccess прописал следующие:

______
# завершающий слэш
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_URI} !(.*)/$
# RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]
_________

Что бы URL категории были всегда со "/" на конце. Все работает вроде правильно, НО
URL вида http://sait.ru/addnews.html/ добавляет лишний слеш на конце. Как убрать этот лишний слэш? Хотя страницы с URL http://sait.ru/pictures/25415-blablabla.html - отображаются правильно, без лишнего слэша на конце.
PS Двиг DLE 9.0 лицензия.

у меня на дле вот такой стоит редирект на слеш

# Редирект на слеш

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.html$
RewriteCond %{REQUEST_URI} !.xml$
RewriteRule (.+) $1/ [R=301,L]

всё ОК работает

S
На сайте с 26.10.2007
Offline
74
#2

asmakovec2, поставил твой код, все тоже самое... в http://sait.ru/addnews.html/ в конце ставит слеш и как следствие страница не открывается.

siv1987
На сайте с 02.04.2009
Offline
427
#3

RewriteRule ^(.*)$

заменить на

RewriteRule ^([^.]+)$

asmakovec2:
у меня на дле вот такой стоит редирект на слеш

asmakovec2, чего так мало проверок то, еще пару сотен добавьте

S
На сайте с 26.10.2007
Offline
74
#4
siv1987:
RewriteRule ^(.*)$

заменить на

RewriteRule ^([^.]+)$

Не помогло к сожалению. 🙅

ower_xz
На сайте с 20.11.2007
Offline
45
#5
Strongest:
Что бы URL категории были всегда со "/" на конце. Все работает вроде правильно, НО
URL вида http://sait.ru/addnews.html/ добавляет лишний слеш на конце.

Может я что-то недопонимаю, но зачем такие сложности с htaccess? Вы же в меню сайта категории прописываете. Что вам мешает в url ссылок на категории просто прописать слэш?

S
На сайте с 26.10.2007
Offline
74
#6
ower_xz:
Может я что-то недопонимаю, но зачем такие сложности с htaccess? Вы же в меню сайта категории прописываете. Что вам мешает в url ссылок на категории просто прописать слэш?

Если удалять слеш в конце url категории, то раньше открывалась та же категория, т.е. были дубли страниц, теперь их нету, все редиректит на слеш.

ower_xz
На сайте с 20.11.2007
Offline
45
#7
Strongest:
Если удалять слеш в конце url категории, то раньше открывалась та же категория, т.е. были дубли страниц, теперь их нету, все редиректит на слеш.

По логике да, но по практике я всегда просто прописывал слэш к категориям. В вебмастере гугла и яндекса никаких дублей без слеша нет.

siv1987
На сайте с 02.04.2009
Offline
427
#8
Strongest:
Не помогло к сожалению

Такого просто не может быть. Уже потому что что такая регулярка не должна пропускать точку. Это означает что либо вы чтото не то делайте, либо там другой редирект срабатывает. Только что проверил

RewriteRule ^([^.]+)(?<!/)$ http://%{HTTP_HOST}/$1/ [L,R=301]

отлично работает.

shamaner
На сайте с 02.11.2008
Offline
57
#9

А не подскажете зачем этот вообще слэш в конце?

магазины на www.ubercart.biz (http://www.ubercart.biz) Все тут www.vsetut.ru (www.vsetut.ru)
WebAlt
На сайте с 02.12.2007
Offline
250
#10

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^.]+)(?<!/)$ /$1/ [L,R=301]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий