Вот мои правила переписывания:
###########
# Rewrite #
###########
# Settings
RewriteEngine On
RewriteBase /
# Cache Busting
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} "^(.+)\.\d+\.(css|js)$" [NC]
RewriteRule "^.*$" "/%1.%2" [L]
# No Index
RewriteCond %{THE_REQUEST} "\ /.*index\.php.*\ " [NC]
RewriteRule "^(.*)index\..+$" "/$1" [L,NC,R=301]
# No Question Mark
RewriteCond %{THE_REQUEST} "\ /[^?]*\?\ "
RewriteRule "^(.*)$" "/$1?" [L,R=301]
# WWW
# RewriteCond %{HTTP_HOST} !"^(?:static|www)\.(.+)$" [NC]
# RewriteCond %{HTTPS}s "^on(s)|"
# RewriteRule "^(.*)$" http%2://www.%1/$1 [L,R=301]
Все работает хорошо (любое предложение улучшить производительность или улучшить регулярные выражения приветствуется, во всяком случае), но я испытываю странную ситуацию и не могу понятьесли это произведено моими правилами перезаписи или поведением Apache по умолчанию.Если мой URL заканчивается символом "/", я могу добавить столько слешей, сколько захочу, без перезаписи.
Например, если в адресной строке я вставлю следующее:
http://[MY -HOST-NAME] ////////////////////////////
Все эти слэшине удаляются.И я все еще вижу свою страницу index.php.Если я вставлю следующий адрес:
http://[MY -HOST-NAME] / members ///
Все эти множественные косые черты не удаляются, и я вижумои члены index.php страница.И так далее ...
Может кто-нибудь помочь мне, пожалуйста?Большое спасибо!