RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
用于www /非www重定向的那些
这是我的维护页面
ErrorDocument 503 /system/maintenance.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !.(css|gif|jpg|png)$
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ - [redirect=503,last]
谢谢!
答案 0 :(得分:1)
这取决于您首先要应用哪一个,以及RewriteBase
是否可以应用于这两组规则(我假设它可以,因为第二条规则并不真正关心基数是什么)。您还可以删除重复的RewriteEngine On
指令:
# this is more or less something separate from rewrite engine
ErrorDocument 503 /system/maintenance.html
# turn on the rewrite engine
RewriteEngine On
RewriteBase /
# do www to non-www redirect
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
# Handle maintenance
RewriteCond %{REQUEST_URI} !.(css|gif|jpg|png)$
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ - [redirect=503,last]
此订单意味着即使维护,非www的www仍然会发生。如果他们是相反的方式,无论主机名是www还是非www,都可以得到维护。