Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义Wordpressplugin导致nginx重写出现问题_Wordpress_Plugins_Nginx - Fatal编程技术网

自定义Wordpressplugin导致nginx重写出现问题

自定义Wordpressplugin导致nginx重写出现问题,wordpress,plugins,nginx,Wordpress,Plugins,Nginx,我对nginx有一个大问题,那就是重定向/永久链接的wordpress规则 以下是我们所拥有的: 使用permalinks/%category%/%postname%的博客/ nginx 在开发人员系统上编码的自定义插件产品比较 在正常情况下,我们只需要使用以下nginx行: try_files $uri $uri/ /index.php?$args; 但它不能与新插件一起工作!我的意思是我可以访问所有类别、帖子等等 现在,当使用插件时,用户可以在另一个部分页面上比较不同的产品。问题是,此插件

我对nginx有一个大问题,那就是重定向/永久链接的wordpress规则

以下是我们所拥有的:

使用permalinks/%category%/%postname%的博客/ nginx 在开发人员系统上编码的自定义插件产品比较 在正常情况下,我们只需要使用以下nginx行:

try_files $uri $uri/ /index.php?$args;
但它不能与新插件一起工作!我的意思是我可以访问所有类别、帖子等等

现在,当使用插件时,用户可以在另一个部分页面上比较不同的产品。问题是,此插件使用以下链接结构: /比较/product name/123 123是产品ID

在开发系统上,我们只做了以下操作:

rewrite ^/compare/([a-z0-9-]+)/([0-9]+)?$ /?page_id=32134&id=$2 break;
这在permalink功能未激活的开发系统上运行良好

激活永久链接并添加

rewrite ^/compare/([a-z0-9-]+)/([0-9]+)?$ /?page_id=PAGEIDOFLIVESYSTEM&id=$2 break;
location / {
try_files $uri $uri/ /index.php?$args;
}
对于我的nginx conf,wordpress说它找不到文章

我认为这与重写规则有冲突,但在尝试了不同的东西后,我不知道如何解决它

也许有人有个好主意

请原谅我的英语不好

再见

我一直不明白try\u文件使用的是?args,我总是使用$request\u uri,你应该试试

try_files $uri $uri/ /index.php?$reqiest_uri;

谢谢你的回答

一天前我自己找到了解决办法。 问题在于插件,它使用自己的规则,但不在wordpress上注册。我使用了一个插件,它允许我添加新的规则,并将它们放在位置1/使它们比其他规则更重要

第二个问题是未知的$u GET-Var,需要在wordpress上注册。Monkeyman重写插件帮我找到了答案

在做了这两件事之后,我只需要补充一下 重写^/compare/[a-z0-9-]+/[0-9]+?$/比较站点名称?id=$2中断; 到我的nginx配置

这就是魔法

也许我可以在一些我认为写得不好的插件上帮助别人解决这个问题

再见