nginx 重写与 wordpress 的链接

nginx 重写与 wordpress 的链接

我的 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_idid查询字符串中参数的值。例如:

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的其他值正常执行脚本。id1

了解更多信息。

相关内容