2016-07-01 24 views
1

我有一個新的WordPress網站example.com,舊的Drupal站點存檔在archive.example.org。舊網站上的許多文件都有一個像這樣的URL(例如:example.org/files/foo.pdf),但是因特網中的所有鏈接都已斷開,因爲所有這些文件下載都需要重定向到archive.example.org/files/foo.pdfWordPress重定向所有文件下載到子域

可以創建重定向(我猜.htaccess是最好的選擇)也可以用於文件下載嗎?是否有簡單的重定向將所有舊鏈接發送到存檔子域?

我曾嘗試:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^/files/ 
RewriteRule^http://archive.example.org%{REQUEST_URI} [R,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
# END WordPress 

...沒有運氣這麼遠。

感謝您的幫助!

+0

你確定mod-rewrite已啓用嗎? – starkeen

回答

1

如果要重定向所有files/*請求到新的域名,並保持一切從WordPress的一樣,你需要規則的條件,這將檢查files

RewriteCond %{REQUEST_URI} ^/files/ 
RewriteRule^http://archive.example.com%{REQUEST_URI} [R,L] 

如果一切正常,因爲它應該,你可以用R=301代替R。切勿使用R=301進行測試。

+0

感謝您的幫助!我仍然沒有看到重定向生效,我用完整的'.htaccess'文件更新了這個問題。 –

+1

這是因爲請求已由第二條規則處理,因爲'RewriteCond%{REQUEST_FILENAME}!-f'。將規則移到開頭,它應該可以工作。 –

+0

這仍然需要在'If'和'RewriteEngineOn'之後?我已經用我目前的內容更新了這篇文章,但仍然沒有任何改變。 –

相關問題