Apache 这两次重写是否相同?
以下有什么不同?忽略域名Apache 这两次重写是否相同?,apache,mod-rewrite,friendly-url,Apache,Mod Rewrite,Friendly Url,以下有什么不同?忽略域名 RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com RewriteRule (.*) http://www.yourdomain.com/$1 [L,R=301] 区别是“^” 我基本上想做的是让我的网站像以前一样,而不让
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com
RewriteRule (.*) http://www.yourdomain.com/$1 [L,R=301]
区别是“^”
我基本上想做的是让我的网站像以前一样,而不让www出现。首先,它的长度更短,对搜索引擎优化也有好处,因为我的网站不会被评为两个网站。一个有www,一个没有www
谢谢大家不,它们不一样 第一个表示,如果主机是
www.example.com
,则重定向到主机example.com
第二个表示,如果主机不是
www.example.com
,则重定向到www.example.com
即使您将第二条重写为以下内容(将这两条规则重定向到example.com
:
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule (.*) http://example.com/$1 [L,R=301]
因此,如果主机不是example.com
,它将重定向到example.com
。如果主机只能是www.example.com
和example.com
,那么结果可能是相同的。但是如果它可以有更多的值(例如foobar.example.com
),您的第一条规则将不会重定向,而我的规则将重定向