apache 、 iis6 、 iis7 设置 301 教程 (适用虚拟主机)
当前提供教程是通过重写规则实现 301, 目前我司主机面板已经开发"301 转向"功能可快捷设置
- 进入业务管理-虚拟主机管理-301 转向
- 进入后如图所示
2.1 windows2003/2008 系统
左侧选框中选择需要进行跳转的域名, 若多个域名, 则拖动多选或按 ctrl 键点击
右侧选框中输入需要跳转到的域名, 然后点击"设置 301 跳转按钮"
2.2 linux 系统
左侧选框中选择需要进行跳转的域名, 若多个域名, 则拖动多选或按 ctrl 键点击
右侧选框中输入需要跳转到的域名, 下面会显示生成的 301 代码, 需要通过网站基本功能-文件管理-wwwroot 下创建一个文件, 命名.htaccess(若已有, 只需要复制代码添加进去), 复制生成的代码粘贴到.htaccess 中保存即可
以下是手工设置 301 的方法:
apache 规则
在主机面板-文件管理, 进入 wwwroot, 新建一个文件, 命名为.htaccess 文件, 写入以下规则, 保存即可
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxxx1.com$
RewriteCond %{HTTP_HOST} ^xxxx2.com$ [NC]
RewriteRule ^(.*)$ http://www.xxxx1.com/$1 [R=301,L]
</IfModule>
实现的效果是 xxxx.com 访问时跳转到 www.xxxx.com
RewriteCond 为条件,多域名时多复制一行即可
iis6 规则
在主机面板-网站基本功能中, 点击 isapi 筛选器, 点击第二个按钮"开启自定义 url 伪静态支持", 然后通过文件管理进入
others/discuz/httpd.conf 中, 强两行保留, 其余代码删除, 并复制以下代码到该文件中保存即可
RewriteCond %{HTTP:Host} ^xxxx1.com$ [NC]
RewriteCond %{HTTP:Host} ^xxxx2.com$ [NC]
RewriteRule (.*) http://www.xxxx1.com$1 [NC,R=301]
实现的效果是 xxxx1.com 和 xxxx2.com 访问时跳转到 www.xxxx1.com
iis7 规则
在主机面板-文件管理, 进入 wwwroot, 新建一个文件, 命名 web.config, 复制一些规则, 保存即可
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="301Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^xxxx1.com$" />
<add input="{HTTP_HOST}" pattern="^xxxx2.com$" />
</conditions>
<action type="Redirect" url="http://www.xxxx1.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
实现的效果是 xxxx1.com 和 xxxx2.com 访问时跳转到 www.xxxx1.com