Cherokee
301 重定向的切諾基規則
我正在從 Apache 遷移到 Cherokee 進行一些試驗
我想在切諾基中做我為 Apache 做的重定向:
重定向到 WWW 規範名稱 RewriteEngine On RewriteCond %{HTTP_HOST} !=www.domain.com RewriteRule ^ http://www.domain.com% {REQUEST_URI}
$$ R=301,L $$ 但是找不到任何關於如何完成的解釋
任何幫助表示讚賞
如果它只是您想要重定向的一個特定域/子域(或相當少量的域),則不需要單獨的虛擬主機(儘管您可以根據需要走這條路線)。以下是cherokee v0.99.39將裸域重定向
domain.com
到其www
子域 ( ) 的步驟:www.domain.com
- 在您的 cherokee-admin 頁面 ( http://127.0.0.1:9090/ ) 上,點擊
Virtual Servers
左側導航中的連結,然後點擊Nickname
要從中重定向的虛擬伺服器的連結。您可能呼叫了這個虛擬伺服器domain.com
(或者在它的Host Match
部分,它有一個條目*domain.com
);或者它可能只是default
虛擬伺服器。- 點擊
Behavior
選項卡。- 點擊
Add new rule
按鈕。- 選擇.
Header
_Rule Type
- 選擇.
Host
_Header
- 輸入
^domain.com
(Regular Expression
並按 Tab 鍵繼續到下一個螢幕)。在這種情況下,我們添加^
到要重定向的域的前面,因此我們只匹配裸域,而不是任何子域。- 點擊
Handler
選項卡。- 選擇.
Redirection
_Handler
- 輸入.
/(.*)
_Regular Expression
- Enter
http://www.domain.com/$1
(再次按 Tab 以允許 ui 處理您的更改)。指示將$1
第 9 步的正則表達式中的第一個擷取組的內容放在何處。- 點擊
Save
左側導航的按鈕。- 試試看!(導航到
http://domain.com/
並驗證您是否http://www.domain.com/
使用 301 重定向到。)
現在在 Cherokee 的 Web 界面中有一個模板(至少在 1.0.8 中):
- 點擊
vServers
頂部導航- 按下
New
按鈕- 選擇
Virtual Server Redirection
下Tasks
- 啟動嚮導
- 輸入
example.com
_Origin Domain
- 輸入
www.example.com
_Target Domain
- 按下
Create
按鈕您還可以將多個域重定向到
Target Domain
:
- 編輯重定向虛擬伺服器(它應該是文件根目錄為 的那個
/dev/null
)- 轉到
Host Match
選項卡Method
應該設置為(Wildcards
您可以選擇Regular Expressions
)- 按下
Add New
按鈕添加更多域名