301重定向以及相关解决办法:
1、linux的虚拟主机Apache的服务器,需要支持.htaccess 这个文件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在.htaccess文件开始处加入一下规则:
代码:
RewriteCond %{http_host} ^AAA.com [NC]RewriteRule ^(.*)$ http://www.AAA.com/$1 [R=301.L]
须注意的就是:.htaccess这个文件基本在传到本地是不能直接被修改的,我们可以采用修改成.htaccess.txt的形式来进行访问编 辑,把要写的代码写好之后,直接把.htaccess.txt传上空间,再把.htaccess.txt直接用FTP修改成.htaccess文件名,这 样就可以升效啦!
2、window的虚拟主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在httpd.ini文件开始处加入以下规则:
代码:
RewriteCond Host:^AAA\.com$RewriteRule (.*) http\://www\.AAA\.com$1 [R,I]
如果采用以上代码不可行,请你尝试下这个代码:
代码:
[ISAPI_Rewrite]# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^hongtaoseo\.com$
RewriteRule (.*) http\://www\.hongtaoseo\.com$1 [I,RP]
在CondPattern串的开头使用'!'(惊叹号)来指定不匹配。^ 行开始标志 SKXBrD=-$ 行结束标志
&LQ% RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
意思是仅匹配abc.com一行,前后都没有任何其他字符。
如果是abc.com$,那么匹配以abc.com结束的一行,比如www.abc.com等等。
再如果是^abc.com,那么匹配以abc.com开始的一行,比如abc.com.cn等等。
综上所述:
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
的意思是:对于HTTP_HOST环境变量,如果匹配以abc.com开头,并以abc.com结束(不区分大小写)的匹配条件,那么使用HTTP代码301强制重定向(R=301)至 http://www.abc.com/+原URI的全部,本条规则结束,不再继续向下匹配(L)。
明白了吗?
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)