Попытка добавить конечную косую черту ко всем URL. Вот код:
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]
Работает НО. При посещении http://www.example.com// вы получите копию индексной страницы. Это не очень хорошо для SEO. тем не мение http://www.example.com/articles// перенаправляет штраф на http://www.example.com/articles/ Как бороться с двойным слешем в индексе? Нужна помощь!
Попробуй это:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
...
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]
Вы можете добавить свои исключения там, где я написал ...
и он будет перенаправлять, только если еще нет завершающей косой черты.
РЕДАКТИРОВАТЬ:
нашел этот и проверил, что это работает:
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{THE_REQUEST} ^[A-Z]+\s//+(.*)\sHTTP/[0-9.]+$ [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s(.*/)/+\sHTTP/[0-9.]+$
RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L]
Это должно делать то, что вы пытаетесь ...