2016-07-07 47 views
0

我不敢相信我自己找不到解決方案,但是在這裏。我希望Apache將每個請求重定向到example.com/page.php到。我在互聯網和StackOverflow上找到了很多選項,但都沒有工作。現在,我得到這樣的:將所有內容重定向到public_html

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com\$ 
RewriteRule (.*) http://example.com/http/$1 [R=301,L] 
RewriteRule ^$ http [L] 

這重定向到example.comexample.com/httpexample.com/some_page.php一切都拋出一個404錯誤。其他選項根本不起作用或者做同樣的事情。 這是CentOS上的Apache/2.2.22,如果這很重要。

回答

1

試試這個規則:

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule ^(?!http/).*\.php$ /http%{REQUEST_URI} [R=301,L,NE,NC] 

確保測試此之前,清除瀏覽器緩存。

+0

現在它會拋出500錯誤,並在日誌中顯示'未知標誌'NE'。可能是Apache的一些舊的/不兼容的版本? upd:docs說Apache 2.2應該支持'NE'標誌,現在我真的很困惑。 – Urffly

+0

對不起,第一行應該有'NC'而不是'NE',嘗試更新規則 – anubhava

+0

好了,它變得更糟了。現在'example.com'不會重定向到'example.com/http'和'example.com/page.php'仍然會引發404錯誤。 – Urffly

相關問題