Nginx

nginx用wordpress重寫連結

  • February 24, 2016

我在這條路線上的 WP 部落格上斷開了連結

www.site.com/wp-content/plugins/download-monitor/download.php?id=1

但是當我想將它重定向到完全新的站點時,我的重寫規則不起作用。我用這個

 rewrite ^(/wp-content/plugins/download-monitor/download.php?id=1)(.*)$   http://link.com/my.pdf$2 permanent;

根據您的評論,您嘗試過:

location = /wp-content/plugins/download-monitor/download.php?id=1 { 
   return 301 link.com/my.pdf;
}

這將不起作用,因為該location規則無法測試 URL 的查詢字元串組件。

if塊可用於簡單的測試,例如測試設置為查詢字元串中參數$arg_id值的值。id例如:

location = /wp-content/plugins/download-monitor/download.php {
   if ($arg_id = 1) {
       return 301 link.com/my.pdf;
   }
   fastcgi_pass ...;
   ...
}

請注意,location上面的塊將處理任何指定相同download.php腳本的 URL(即具有id除 以外的值1)。這些fastcgi指令從您的塊中複製location ~ \.php$出來,以便download.php正常執行腳本,其值id不是1.

有關更多資訊,請參閱

引用自:https://serverfault.com/questions/759158