簡體   English   中英

301將文件路徑的正則表達式重定向到上載目錄

[英]301 redirect regex for file paths to uploads directory

我正在將網站移至wordpress,該網站有數百個文件可供下載。 當前文件路徑在文件名之前可能包含多個子文件夾。 以下是網址外觀的一些示例。

"http://www.example.com/uploads/folder/subfolder/anothersubfolder/file.pdf"

"http://www.example.com/uploads/folder/file.pdf"

  "http://www.example.com/uploads/folder/subfolder/anothersubfolder/anothersubfolder/file.doc"

我想創建一個301重定向來處理對這些文件的任何請求,並將它們發送到新的url,

"http://www.example.com/wp-content/uploads/folder/subfolder"

我在上載文件夾中將子文件夾保持相同,因此,實際上我需要一個正則表達式來指向要

"http://www.example.com/uploads/"

並指向

"http://www.example.com/wp-content/uploads/"

更新資料

我當前的.htaccess文件看起來像

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我嘗試在<IfModule mod_rewrite.c>塊中添加來自anubhava的答案,但我認為RewriteBase /從wordpress中出現問題,我嘗試添加RewriteBase /uploads/ 我如何對/ uploads目錄具有重寫條件?

您可以在DocumentRoot/.htaccess使用此重定向規則:

# BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

RewriteRule ^uploads(.*)$ /wp-content/uploads/$1 [L,NE,R=301]

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

</IfModule>    
# END WordPress

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM