情況:我有一個單獨的(主)域,它有幾個別名域,每個別名都指向相同的基於Plesk的服務器(例如,我的主域名爲example.com
,與something.net
,anotherone.co.uk
和其他幾個全部作爲主域帳戶的別名)。這意味着,無論何時將域名輸入到任何別名的地址欄中,它都會直接轉到主域的帳戶(example.com
)。爲域別名重寫規則
問題:基於別名(ES)的域名,我有一個index.php
每個域不同的重定向(例如,請求對域A重定向到一個企業網站,域B都到了感謝網站等等)。這很好用,但是如果一個目錄被添加到域名後面(即somealias.com/something
),那麼它會給出404 not found
錯誤。
我真的很感激,如果有人能夠幫助我,那麼這是一個(單一的,如果可能的話)重寫規則集,它將剝離掉所有的尾隨目錄和/或GET請求,並且只留下輸入的基本URL,那麼坐在主域文檔根目錄下的php腳本可以適當地接管並處理請求。
奇怪的是,我一直無法找到這個(簡單)解決方案。是否必須爲每個別名域分別定義規則?
嗨;非常感謝您的回答!我嘗試了兩種選擇;不幸的是,因爲這些規則必須進入主域頂級vhost配置文件(如根級htaccess),所以我不能使用RewriteBase(它只能用作Directory指令)。這兩個例子雖然很接近,但通過將index.php附加到前一個重定向的URI字符串的末尾,將瀏覽器發送到無限循環。但是,它給了我更多的彈藥 - 再次感謝! – WalB
1)你用'.htaccess'標籤標記了你的問題 - 如果你不打算在.htaccess中放置規則,你爲什麼使用它? 2)是的,RewriteBase不能用於配置文件 - 僅用於Directory或.htaccess 3)是的,如果將它們放置在配置文件中,您將需要修改這些規則。 – LazyOne
@ User829303使用可以放置在** httpd.conf **或其他配置文件中的規則更新了我的答案。 – LazyOne