簡體   English   中英

Nginx將文件夾的全部內容重定向301到子域

[英]Nginx redirect 301 the entire content of the folder to a subdomain

我正在使用Wordpress和Nginx,並創建了一個子域來托管所有圖像

我已經更新了數據庫以定義所有舊的url,例如; https://exemple.com/wp-content/uploads/2015/06/image_exemple.jpghttps://static.exemple.com/2015/06/image_exemple.jpg效果很好,我現在可以訪問媒體了以為這個子域

子域指向與Wordpress相同的默認文件夾,用於/ wp-content / uploads /

現在,我嘗試使用永久重定向將整個文件夾重定向到我的子域

location = /wp-content/uploads/ {
    rewrite ^(.*)$ https://static.exemple.com/$1 permanent;
} 

當我curl -I https://static.exemple.com/時,它似乎正常工作curl -I https://static.exemple.com/查看標題響應; 它告訴我HTTP / 1.1 301永久移動 ,如果我curl -I https://exemple.com/wp-content/uploads則保持不變curl -I https://exemple.com/wp-content/uploads

但是當我做示例卷曲時-我https://exemple.com/wp-content/uploads/2015/06/image.jpghttps://static.exemple.com/2015/06/image.jpg都響應是HTTP / 1.1 200 OK

它似乎有效,但是它確實意味着重定向301適用於文件夾的整個內容。有關此信息,文件夾上載/具有許多子文件夾。

我嘗試過

location = /wp-content/uploads/ { 
    return 301 https://static/exemple.com/$request_uri;
}

響應相同...也許我做錯了..任何幫助將不勝感激

好的,我解決了這個問題。 我把它發布給想知道我是怎么做的。

解決方案是,只需將此行放在服務器塊中,而不是放在某些位置即可。

rewrite ^(/wp-content/uploads)(.*)$ https://static.exemple.com$2 permanent;

現在使用此命令測試請求

curl -I https://exemple.com/2015/06/logo.jpg 

您應該看到答案HTTP / 1.1 301永久移動

位置: https//static.exemple.com/2015/06/logo.jpg

無論如何,您都可以使用wget或其他工具來完成!

wget -d URL

暫無
暫無

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

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