Apache 網域名稱跳轉配置

2022-05-18 10:14:16 字數 2632 閱讀 3203

網域名稱跳轉

就是實現url的跳轉和隱藏真實位址,基於perl語言的正規表示式規範。平時幫助我們實現擬靜態,擬目錄,網域名稱跳轉,防止盜鏈等 。

引數格式

引數:

apache mod_rewrite 規則重寫

1) r[=code](force redirect) 強制外部重定向

說明:強制在替代字串加上http://thishost[:thisport]/字首重定向到外部的url.如果code不指定,將用預設的302 http狀態碼。

2) f(force url to be forbidden)禁用url,返回403http狀態碼。

3) g(force url to be gone) 強制url為gone,返回410http狀態碼。

4) p(force proxy) 強制使用****。

5) l(last rule) 表明當前規則是最後一條規則,停止分析以後規則的重寫。

6) n(next round) 重新從第一條規則開始執行重寫過程。

7) c(chained with next rule) 與下一條規則關聯

8) t=mime-type(force mime type) 強制mime型別

9) ns (used only if no internal sub-request) 只用於不是內部子請求

10) nc(no case) 不區分大小寫

12) ne(no uri escaping of output) 不在輸出轉義特殊字元

說明:rewriterule /foo/(.*) /bar?arg=p1%3d$1 [r,ne] 將能正確的將/foo/zoo轉換成/bar?arg=p1=zoo

13) pt(pass through to next handler) 傳遞給下乙個處理

說明:rewriterule ^/abc(.*) /def$1 [pt] # 將會交給/def規則處理alias /def /ghi

14) s=num(skip next rule(s)) 跳過num條規則

15) e=var:val(set environment variable) 設定環境變數

16) or 代表或者

注:如果規則匹配則正常處理,8)以後的標誌無效,如果不匹配,那麼下面所有關聯的規則都跳過。

格式:

# 呼叫mod_rewrite.c模組

# 開啟rewirte功能

rewriteengine on

# 宣告client請求的主機中字首不是www.client.cn

# 含義是如果client請求的主機中的字首符合上述條件,則直接跳轉。

authtype basic ^(.*)$ [r=301,l]

例項配置

1、查詢是否有rewrite模組,網域名稱跳轉模組

命令:apache2/bin/apachectl -m | grep rewrit

rewrite_module (shared)

如果不存在:

# 編輯主配置檔案,解注釋

注:如果沒有該模組,則需要通過apxs工具安裝模組。

2、修改虛擬主機配置檔案

#1對1網域名稱跳轉

documentroot

"/usr/local/html

"servername www.server.com

serveralias www.aaa.com

rewriteengine on

rewritecond % ^www.aaa.com$

rewriterule ^/(.*)$ [r=301,l]

require all granted

#1對多網域名稱跳轉

documentroot

"/usr/local/html

"servername www.server.com

serveralias www.aaa.com

serveralias www.bbb.com

rewriteengine on

rewritecond % ^www.aaa.com$ [or]

rewritecond % ^www.bbb.com$

rewriterule ^/(.*)$ [r=301,l]

require all granted

配置檔案

注:跳轉狀態碼

301代表永久重定向

302臨時重定向

注:訪問乙個「/」可以輸入以下格式。

3、重新讀取配置檔案

apache2/bin/apachectl graceful

apache 網域名稱配置

一 基本配置 1.修改 apache conf httpd.conf檔案 開啟 mod rewrite.so 就是去掉前面的注釋 開啟 http vhosts.conf 就是去掉前面的注釋 開啟 namevirtualhost 80 就是去掉前面的注釋或是新增 到 apache conf extra...

Apache配置網域名稱

apache配置網域名稱 在win下安裝apache配置虛擬目錄和unin下基本是一樣的 就是修改httpd.conf 1 單個ip對應單個網域名稱 例如 www.phpunion.com對應192.168.1.1 www.feelone.net對應192.168.1.2 在httpd.conf中加...

apache多網域名稱配置

1 在httpd.conf檔案中載入httpd vhosts.conf檔案。即去掉下面這句話前的 號。檔案中新增下面這段配置語句。documentroot d wamp www servername www.myworkplace.com options indexes followsymlinks...