У меня есть следующий файл .htaccess:Циклическое Перенаправление в .htaccess
AddDefaultCharset utf-8
RewriteEngine on
Options +SymLinksIfOwnerMatch
RewriteBase/
# redirect all www-requests to no-www
# -
RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
# redirect all home pages to/(root)
# -
RewriteCond %{THE_REQUEST} ^.*/index\.(php|html?)
RewriteRule ^(.*)index\.(php|html?)$ /$1 [R=301,L]
# remove trailing slash from dirs
# -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ /$1 [R=301,L]
# automatically add index.php when needed
# -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|login\.php|reg\.php|robots\.txt|css/|js/)
RewriteRule ^(.*)$ /index.php [L]
Файл .htaccess должен сделать следующее (для SEO):
- Преобразования в не-WWW (
http://www.site.com
должны станьтеhttp://site.com
) - всех идентификаторов URI с задними косыми чертами должны преобразовать не замыкающий слэша:
http://site.com/me/
должны быть перенаправленыhttp://site.com/me
- Все идентификаторы URI с
index.php/index.html
должны преобразовать только ничего:http://site.com/admin/index.php
илиhttp://site.com/admin/
должны быть в конечном итоге отображается какhttp://site.com
Однако текущая версия .htaccess приводит к циклическому перенаправлению при попытке доступа (http://site.com/admin
). Реальный документ, который должен быть выбран браузером, - http://site.com/admin/index.php
.
Может ли кто-нибудь помочь мне в этом вопросе?