2012-03-21 160 views
1

我想將所有文件和文件夾(目錄)從www.example.com/*重定向到www.example.com/website/。我目前的.htaccess是:htaccess通配符重定向

RewriteEngine on 

# To set your custom php.ini, add the following line to this file: 
# suphp_configpath /home/yourusername/path/to/php.ini 

RewriteCond %{HTTP_HOST} ^example\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
RewriteRule ^/?$ "http\:\/\/www\.example\.com\/website\/" [R=301,L] 
Redirect 301 /* http://www.example.com/website/ 

但它不工作。

+0

1)(雙重檢查)通過「重定向」你的意思是實際301重定向..或只是重寫(你的例子顯示301)。 2)需要很少的「真實」的例子(從URL - >到URL),因爲它有點不清楚你想重定向(我只是看到你當前的例子有一些問題:'/ * - >/website /') – LazyOne 2012-03-21 15:28:04

+0

當有人試圖訪問www.example.com/test.html時,我希望他們真的去www.example.com/website/test.html。當有人訪問www.example.com/documents/test.pdf時,我希望他們訪問www.example.com/website/documents/test.pdf。 – Chris 2012-03-21 17:40:57

+0

@LazyOne你明白我現在需要做什麼嗎? – Chris 2012-03-21 17:43:43

回答

2
RewriteCond %{REQUEST_URI} !^/website/ 
RewriteRule ^.*$ http://www.example.com/website%{REQUEST_URI} [R=301,L] 

小記錄:我建議使用302代碼進行測試,當你對結果感到滿意時,將其更改爲301(當然需要的話)。原因 - 現代瀏覽器做緩存301重定向..所以它可能已經工作,但你仍然可能會看到緩存的結果。

+2

對於完整的重定向,您應該始終記得添加QSA(查詢字符串追加)'... [R = 301,QSA,L]' – 2012-03-21 21:23:38