apache 、 iis6 、 iis7 设置 301 教程 (适用虚拟主机)

当前提供教程是通过重写规则实现 301, 目前我司主机面板已经开发"301 转向"功能可快捷设置

  1. 进入业务管理-虚拟主机管理-301 转向

    1.jpg

  2. 进入后如图所示

    2.1 windows2003/2008 系统

    1.jpg

    左侧选框中选择需要进行跳转的域名, 若多个域名, 则拖动多选或按 ctrl 键点击

    右侧选框中输入需要跳转到的域名, 然后点击"设置 301 跳转按钮"

  2.2 linux 系统

1.jpg

左侧选框中选择需要进行跳转的域名, 若多个域名, 则拖动多选或按 ctrl 键点击

右侧选框中输入需要跳转到的域名, 下面会显示生成的 301 代码, 需要通过网站基本功能-文件管理-wwwroot 下创建一个文件, 命名.htaccess(若已有, 只需要复制代码添加进去), 复制生成的代码粘贴到.htaccess 中保存即可

以下是手工设置 301 的方法:

apache 规则

在主机面板-文件管理, 进入 wwwroot, 新建一个文件, 命名为.htaccess 文件, 写入以下规则, 保存即可

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^xxxx1.com$

[NC]

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