Я использую mod_rewrite/.htaccess для довольно URL-адресов.mod_rewrite: удалить трейлинг-косую черту (только один!)
Я использую это условие/правило для устранения конечных косых черт (а точнее: переписываю URL-адрес без привязки к косую черту с помощью перенаправления 301. Я делаю это, чтобы избежать дублирования контента и потому, что мне нравятся URL-адреса при отсутствии косых черт лучше):
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} !^\.localhost$ [NC] RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Хорошо работает до сих пор. Только недостаток:
он также переадресовывает «множественный трейлинг-косая черта» -URLs до непереходные-косая ссылки.
Пример:
http://example.tld/foo/bar//////
вперед к http://example.tld/foo/bar
в то время как я только хочу http://example.tld/foo/bar/
направить http://example.tld/foo/bar
.
Итак, можно ли исключить только следы слэшей, если на самом деле это только один trailing slash?
Извините, если это несколько досадный или странный вопрос!
Спасибо.
Тот же вопрос: http://stackoverflow.com/questions/19990838/remove-trailing-slash-from-sub-directory-folder-apache-1-3-42-directoryslash-off –