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