很多站长都希望让自己的网站可以在访问xxx.com时就可以像百度、腾讯这样的门户网站一样可以直接跳转到www.xxx.com。这种跳转叫做301重定向,是http协议的一种。当然还有302重定向,理论上都是一样的这里就不再介绍。我司的虚拟主机是没有直接提供301重定向设置的,所以需要使用伪静态的方法来实现,当然也可以通过网站程序上来实现。这里介绍伪静态的方法。
方法一:只需将下面的代码加入到.htaccess文件,上传至网站根目录即可。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.xxx.com$ [NC]
RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301]
这样我们就实现了网站的301重定向。注意,www.xxx.com只是一个示例域名,请修改成自己的域名。
如果是需要将旧域名跳转至新域名,可使用以下规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.旧.com$ [OR]
RewriteCond %{HTTP_HOST} ^旧.com$
RewriteRule ^(.*)$ http://www.新.com [R=301,L]
方法二:将规则文件写入Web.config文件的<rules>节点内即可。
<rule name="301 Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^xxxxx.com" />
</conditions>
<action type="Redirect" url="http://www.xxxxx.com/{R:0}" redirectType="Permanent" />
</rule>
注:我司虚拟主机分为Windows与Liunx两种,分别采用了IIS和Apache作为Web服务器。
IIS采用ISAPI_Rewrite或URL Rewrite伪静态组件,Apache采用自带的伪静态模块mod_rewrite。
ISAPI_Rewrite和mod_rewrite都统一采用了.htaccess文件为伪静态的规则文件,URL_Rewrite则采用的是 Web.config 配置文件来实现伪静态。