[.htaccess] Добавление в конце слеша, если слеша нет. Как?

NT
На сайте с 18.01.2011
Offline
22
513

У меня есть код, который убирает слеш с конца адресной строки, но я не знаю как сделать, чтобы он добавлял слеш, если не найдёт.

# Если пришёл со слешем в конце, слеш с конца убираем

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*)/$
RewriteRule ^(.*)/$ /$1 [L,R=301]
IL
На сайте с 20.04.2007
Offline
435
#1

Так примерно:


# Если пришёл со слешем в конце, слеш с конца убираем
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*)[^/]$
RewriteRule ^(.*)$ /$1/ [L,R=301]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
NT
На сайте с 18.01.2011
Offline
22
#2

ivan-lev, спасибо! Получилось!

Можете объяснить как работает символ '^'?

Спрашиваю, чтобы лучше понимать код.

IL
На сайте с 20.04.2007
Offline
435
#3
NighTKon:
Можете объяснить как работает символ '^'?

Всё уже давно объяснено http://www.php.net/manual/ru/regexp.reference.meta.php

* на самом деле, значение символа зависит от его положения

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