我的网站存在巨大的重复问题。首先,我将非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
答案 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]
请告诉我它是否有效