apache下實現301永久性重定向的方法_Web服務器教程

      編輯Tag賺U幣

      因為網站是使用了www.wf0088.com作為博客域名,所以想實現mb5u.com全部重定向(跳轉)到www.wf0088.com。同時按照google的建議,使用服務器端 301 重定向,為了確保用戶及搜索引擎定向至正確網頁的最佳方法。301 狀態代碼表示某網頁已被永久遷移至新位置。下面將了解一下apache下實現301永久性重定向2個方法,需要具有訪問服務器的 .htaccess 文件的權限。

      1. Apache模塊 mod_alias的 Redirect 和 RedirectMatch命令

      上面提到2個命令使用方法相似。而區別就是后者RedirectMatch基于正則表達式匹配對當前的URL發送一個外部重定向語法為:

      Redirect [status] URL-path URL

      RedirectMatch [status] regex URL

      status參數可以使用以下HTTP狀態碼:

      permanent

      返回一個永久性重定向狀態碼(301),表示此資源的位置變動是永久性的。

      temp

      返回一個臨時性重定向狀態碼(302),這是默認值。

      seeother

      返回一個“參見”狀態碼(303),表示此資源已經被替代。

      gone

      返回一個“已廢棄”狀態碼(410),表示此資源已經被永久性地刪除了。如果指定了這個狀態碼,則URL參數將被忽略。

      舉例:

      APACHE

      Redirect 301 /old/old.htm http://www.wf0088.com/new.htm
      Redirect permanent /one http://mb5u.com/two
      RedirectMatch 301 (.*).gif$ http://www.wf0088.com/images/$1.jpg

      2.使用mod_rewrite重寫URL方式

      APACHE

      Options +FollowSymLinks
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^mb5u.com
      RewriteRule ^(.*)$ http://www.wf0088.com/$1 [R=permanent,L]

      在這里判斷當前服務器變量HTTP_HOST是否等于mb5u.com,為真就進行重寫,按照R=permanent進行永久重定向,L表示并立即停止重寫操作,并不再應用其他重寫規則

      下面是我最終實現的.htaccess文件,同時也并入wordpress重寫規則。

      APACHE

      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      #Redirect
      Options +FollowSymLinks
      RewriteCond %{HTTP_HOST}   ^mb5u.com$
      RewriteCond %{HTTP_HOST}   !^$
      RewriteRule ^(.*)$ http://www.wf0088.com/$1 [R=301,L]
      #Rewrite(blog)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^blog/.* /blog/index.php [L]
      RewriteRule . -
      </IfModule>
      # END WordPress

      來源:網絡搜集//所屬分類:Web服務器教程/更新時間:2013-04-13
      相關Web服務器教程