.htaccess重定向index.php文件

时间:2011-11-20 19:57:30

标签: .htaccess mod-rewrite redirect

我的网站存在巨大的重复问题。首先,我将非www重定向到www并且工作正常。

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

但我的网站仍然可以通过index.php网址访问     要解决这个问题我修改为:

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。我确切的CMS网址是:

www.example.com/admin/index.php

1 个答案:

答案 0 :(得分:1)

Darthenius是对的,但忘了提一件事:正确使用大写字母(尽管不需要大写,但这总是一个好习惯):

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]

请告诉我它是否有效