2012-10-11 55 views
0

我需要將目錄以及該目錄下的所有子目錄和文件重定向到同一位置(root)。因此,任何試圖訪問/old/old/folder/old/other-folder/xy/page.php或「舊」文件夾中其他任何位置的人都應該重定向到根域。htaccess重定向catchall

到目前爲止,我有這樣的:

Redirect 301 ^/old/.*$/

這是做的最好的辦法,還是會更好地使用(.*),而不是.*?兩者有什麼區別?

或者 - 我應該使用RewriteRule而不是像上面那樣的重定向嗎?如果是這樣,爲什麼?

謝謝!

回答

0

你可以試試這個

RewriteEngine On 
RewriteBase/
RewriteRule ^old/?(.*) /$1 [R=301,NC,L] 

如果你只是想每個舊網頁主頁/根(我不知道你想要什麼)比你可以用

RewriteRule ^old/.*/[R=301,NC,L] 
取代過去的重寫規則重定向
1

Redirect指令不使用正則表達式。它將2個路徑節點連接在一起,這不完全是你想要的。您可以嘗試使用RedirectMatch指令代替:

RedirectMatch 301 ^/old//