![nginx 重写与 wordpress 的链接](https://linux22.com/image/677510/nginx%20%E9%87%8D%E5%86%99%E4%B8%8E%20wordpress%20%E7%9A%84%E9%93%BE%E6%8E%A5.png)
我的 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;
答案1
根据您的评论,您已尝试过:
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