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