1
我有一個子文件夾中的所有靜態HTML文件重定向到新的位置(舊網站的Drupal的版本):重定向一個子文件夾在同一文件中的所有文件到一個新的服務器
oldsite.net/topfolder/subx => newsite.net/subx
但並不是所有文件都在新網站上存在。 丟失的文件應該被重定向到主頁面,在新的子文件夾
用一個例子(請備註目標網址沒有名「.html」擴展名):
oldsite.net/topfolder/subx/file1.html redirect to newsite.net/subx/file1
oldsite.net/topfolder/subx/file2.html redirect to newsite.net/subx/file2
和
oldsite.net/topfolder/subx/missing1.html redirect to newsite.net/subx/mainpage
oldsite.net/topfolder/subx/missing2.html redirect to newsite.net/subx/mainpage
根的.htaccess,我可以寫爲每個文件類似的東西:
redirect 301 /topfolder/subx/file1.html http://www.newsite.net/subx/file1
和丟失的文件
redirect 301 /topfolder/subx/missing1.html http://www.newsite.net/subx/mainpage
但是隨着越來越多的300個文件,它是一個大量的工作。
我不太擅長重寫規則,我試圖編寫一個規則,但它似乎不工作。
這應該對現有的文件工作(我沒噴試了一下):
RewriteRule /topfolder/subx/^ (.*)\.html$ http://www.newsite.net/subx/$1 [R=301,L]
但是對於丟失的文件?上述規則是否正確?
有什麼建議嗎? 謝謝你的回覆。
這絕對是一個好主意,但在新網站上,我希望擁有自己的404頁面。 (我的主頁是「subx」子文件夾的主頁...我的帖子中不太清楚) – gingo 2013-02-27 18:12:24
好的,現在請看我的編輯答案。 – anubhava 2013-02-27 19:02:49
它在我的本地服務器上工作,但不在共享生產服務器上。我不知道爲什麼,只是沒有應用oldsite的規則(但是其他規則可行,即mod_rewrite處於活動狀態)。無論如何謝謝(也許我會在每個單一文件上使用重定向301)。 – gingo 2013-02-28 06:49:09