1. 程式人生 > >tomcat配置301重定向

tomcat配置301重定向

http 301 和 302的區別
1、什麼是301轉向?什麼是301重定向?

  301轉向(或叫301重定向,301跳轉)是當用戶或搜尋引擎向網站伺服器發出瀏覽請求時,伺服器返回的HTTP資料流中頭資訊(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。

2、什麼是302重定向?

  302重定向又稱之為302代表暫時性轉移(Temporarily Moved ),英文名稱:302 redirect。 也被認為是暫時重定向(temporary redirect),一條對網站瀏覽器的指令來顯示瀏覽器被要求顯示的不同的URL,當一個網頁經歷過短期的URL的變化時使用。一個暫時重定向是一種服 務器端的重定向,能夠被搜尋引擎蜘蛛正確地處理。

3、301重定向與302重定向的區別

  302重定向是暫時的重定向,搜尋引擎會抓取新的內容而保留舊的網址。因為伺服器返回302程式碼,搜尋引擎認為新的網址只是暫時的。 SEO 302好於301

  301重定向是永久的重定向,搜尋引擎在抓取新內容的同時也將舊的網址替換為重定向之後的網址。

tomcat預設情況下不帶www的域名是不會跳轉到帶www的域名的,而且也無法像apache那樣通過配置.htaccess來實現。如果想要把不帶“www'的域名重定向到帶”www"域名下,又不想寫程式碼,可以使用UrlRewriteFilter來實現。

1.簡介

     urlRewriteFilter是一個用於改寫URL的Web過濾器,類似於Apache的mod_rewrite。適用於任何Web應用伺服器(如 Tomcat,jboss,jetty,Resin,Orion等)。其典型應用就把動態URL靜態化,便於搜尋引擎爬蟲抓取你的動態網頁。

2.下載

下載UrlRewriteFilter

wget http://urlrewritefilter.googlecode.com/files/urlrewritefilter-4.0.3.jar

並放入tomcat的 WEB-INF/lib下

3.配置tomcat

     編輯WEB-INF/web.xml 在其它servlet mapping前加入

<filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
</filter-mapping>

4.新增跳轉規則

     在WEB-INF下新建urlrewite.xml檔案,加入跳轉規則

<urlrewrite>
  <rule>
      <name>seo redirect</name>
      <condition name="host" operator="notequal">^www.example.com</condition>
      <condition name="host" operator="notequal">^localhost</condition>
      <from>^/(.*)</from>
      <to type="permanent-redirect" last="true">http://www.example.com/$1</to>
  </rule>
</urlrewrite>

參考文章

http://nematodes.org/martin/2010/02/04/301-permanent-redirect-with-tomcat-howto/

http://tuckey.org/urlrewrite/