Перенаправление .htaccess для файла index.php - PullRequest
0 голосов
/ 20 ноября 2011

У меня огромные проблемы с моим сайтом.Сначала я перенаправил non-www на www и работал нормально.

RewriteEngine on
rewritecond %{http_host} ^example.com [nc]
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc]

Но мой веб-сайт по-прежнему был доступен через index.php url. Чтобы решить эту проблему, я изменил его следующим образом:

RewriteEngine on
rewritecond %{http_host} ^example.com [nc]
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.example.com/$1 [R=301,L]

Он работал нормально, но у меня проблемы с входом в CMS, и этоне позволяйте мне войти в мою CMS.Затем я добавил это:

RewriteCond %{REQUEST_URI} !^/admin/ 
RewriteRule ^(.*)index.php$ http://www.example.com/$1 [R=301,L] 

И это все еще не позволяло мне войти в мою CMS.Мой точный URL CMS:

www.example.com / admin / index.php

1 Ответ

1 голос
/ 21 ноября 2011

Дартениус прав, но забыл упомянуть одну вещь: правильно использовать заглавные буквы (хотя это и не нужно, это всегда хорошая привычка):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC]

RewriteCond %{REQUEST_URI} !(/admin/index\.php)
RewriteCond %{REQUEST_URI} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.example.com/$1 [R=301,L]

Пожалуйста, скажите мне, если это работает

...