
我有一個客戶現在想要將幾十個網址指向他們的主網站。我已將它們新增為網站 apache 設定檔中的伺服器別名...所以現在所有這些 url 都指向主 URL...非常好。
我遇到的問題是,如果在根目錄中訪問這些別名中的任何一個(即www.domain.com 而不是www.domain.com/some-page/),那麼我需要將它們重定向到網站內的特定頁面(即任何造訪domain.com 的人可能需要被發送至domain.com/special-landing-page/)。但是,對著陸頁以外的任何內容的任何訪問都應正常繼續,無需任何重定向。
我已經為此奮鬥了幾個小時,但似乎找不到最佳解決方案。有沒有人有什麼建議?
編輯:啊,我實際上正在這樣做..但無法讓它發揮作用。任何意見:
伺服器名稱 mgi.co.uk 伺服器別名 mgi.co.uk *.mgi.co.uk 伺服器別名central-heating-nottingham.co.uk *.central-heating-nottingham.co.uk
RewriteCond %{HTTP_HOST} ^(www.)?central-heating-nottingham.co.uk$ [NC]
RewriteRule ^$ /nottingham [R,L]
DocumentRoot /home/ben/sites/mgi/releases/current/mgi
WSGIScriptAlias and other WSGI stuff....
更新:我在日誌中得到以下輸出...
我得到以下輸出:
127.0.0.1 - - [15/Jun/2010:22:07:50 +0100] [mgi.co.uk/sid#84464a8][rid#8711c60/subreq] (1) 通過 /
127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (2) 使用要求的uri /favicon 初始化重寫引擎。
127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (3) 將模式'^$' 應用到uri ' /favicon.ico'
127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (1) 透過 /favicon.ico
127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#8713c68/subreq] (2) 使用請求的uri /favicon 初始化重寫引擎。
答案1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteRule ^$ /special-landing-page [R,L]
發布你嘗試過的內容。
在設定檔中使用以下內容產生重寫日誌以查看發生了什麼
RewriteLogLevel 9
RewriteLog /tmp/rl
之後停用此功能,因為在繁忙的網站上它可能會佔用大量伺服器資源。