今天的support內容需要測試apache 頁面重定向,簡單的說就是配置apache讓它自動把舊的url位址轉換成新的url輸出。
apache模組 mod_rewrite說明
說明:提供了乙個基於規則的實時轉向url請求的引擎
狀態:extension
模組名:
rewrite_module
原始檔:
mod_rewrite.c
相容性:
包含在apache 1.3及其更新版本中
#開啟rewrite模組
rewriteengine on
#設定log的輸出位置()
rewritelog
"f:/local/apache2.2/logs/rewrite.log"
#舉例:替換page.jsp?id
= 30800為新位址http://localhost/webadmin/index.jsp
] 常用指令:
語法:rewritebase url-path
rewritebase指令顯式地設定了目錄級重寫的基準url。預設值是,rewritebase
physical-directory-path
在對乙個新的url進行替換時,此模組必須把這個url重新注入到伺服器處理中。 為此,它必須知道其對應的url字首或者說url基準。通常,此字首就是對應的檔案路徑。但是,大多數**url不是直接對應於其物理檔案路徑的,因而一般不能做這樣的假定!所以在這種情況下,就必須用rewritebase
指令來指定正確的url字首。
rewriteengine on
# let the server know that we were reached via /xyz and not
# via the physical path prefix /abc/def
rewritebase /xyz
語法:rewritecond teststring
condpattern
rewritecond
指令定義了乙個規則的條件,即,在乙個rewriterule
指令之前有乙個或多個rewritecond
指令。 條件之後的重寫規則僅在當前uri與pattern匹配並且符合這些條件的時候才會起作用。
teststring是乙個純文字的字串,但是還可以包含下列可擴充套件的成分。condpattern是條件pattern, 即, 乙個應用於當前例項teststring的正規表示式, 即, teststring將會被計算然後與condpattern匹配.
rewritecond % ^mozilla.*
rewriterule ^/$ /homepage.max.html [l
]rewritecond % ^lynx.*
rewriterule ^/$ /homepage.min.html [l
]rewriterule ^/$ /homepage.std.html [l
]語法:rewriteengine on|off
rewriteengine
指令開啟或關閉執行時刻的重寫引擎。 如果設定為off
,則此模組不執行任何執行時刻的重寫操作, 甚至也不更新script_urx
環境變數。使用該指令可以使此模組無效,而無須注釋所有的rewriterule
指令!
注意:預設情況下,重寫配置是不可繼承的, 即,必須在每個需要的虛擬主機中設定乙個rewriteengine on
指令。
語法:rewritelog file-path
rewritelog
指令設定用於記錄所有重寫操作的檔案的名稱。 如果此檔名不是以斜槓('/
')開頭,則它是相對於server root的。 此指令應該僅僅出現在伺服器級配置中。
如果要關閉對重寫操作的記錄,不推薦把
filename設定為/dev/null
, 因為,雖然重寫引擎不能輸出記錄了,但仍會內部地建立這個日誌檔案,它會使伺服器速度降低,而且對管理員毫無益處!要關閉日誌,可以刪除或註解rewritelog
指令, 或者使用rewriteloglevel 0
!
rewritelog
"/usr/local/var/apache/logs/rewrite.log
" 語法:rewriteloglevel level
rewriteloglevel
指令設定重寫引擎日誌的詳細程度的級別。 預設級別0意味著不記錄,而9或更大的值意味著記錄所有的操作。
要關閉重寫引擎日誌,可以簡單地設此值為0,關閉所有的重寫操作記錄。使用較高的level值會使apache伺服器速度急劇下降! 重寫日誌使用大於2的level值只用於除錯!
rewriteloglevel 3
語法:rewriterule pattern
substitution
rewriterule
指令是重寫引擎的根本。此指令可以多次使用。 每個指令定義乙個簡單的重寫規則。這些規則的定義順序尤為重要, 因為,在執行時刻,規則是按這個順序逐一生效的.
pattern
是乙個作用於當前url的相容perl的正規表示式. 這裡的``當前''是指該規則生效時的url的值。 它可能與被請求的url不同,因為其他規則可能在此之前已經發生匹配並對它做了改動。
[
flags]
apache配置 重定向
1 http協議 2 apache伺服器 第一種方式 安裝多個apache 第二種方式 乙個網絡卡繫結多個ip 1 新增ip位址 本地連線 tcp ip屬性 高階 新增 192.168.52.107 192.168.52.108 2 http.conf下 options indexes follow...
apache做301重定向的方法
方法一 加在httpd.conf 1 這裡我使用mod rewrite重寫url的方式來做,做之前朋友記得檢查一下你的apache是否已經載入了rewrite模組。如圖所示的那個模組,在apahce的httpd.conf檔案裡面檢視 2 如果已經支援了rewrite,直接在你要做的站點配置檔案裡面新...
apache 301重定向配置的例子
apache下301重定向 windows 2003 apache 本文僅限apache伺服器使用。新建.url 檔案,輸入下列內容 需要開啟mod rewrite 1 將不帶www的網域名稱轉向到帶www的網域名稱下 options followsymlinks rewriteengine on ...