删除URL尾部斜杠时,Plesk,NGINX,PHP-FPM出现500 Server错误

时间:2013-09-26 02:02:45

标签: wordpress apache nginx plesk php

我在运行WordPress网站时遇到了一个非常奇怪的错误。

WordPress已启用永久链接。从URL中删除尾部斜杠(/)时,会发生500服务器错误。例如: www.site.com/about/ - >工作良好。 www.site.com/about - >抛出500服务器错误。

错误日志显示以下内容:

[Tue Sep 24 00:44:58 2013] [warn] [client 75.52.190.1] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Tue Sep 24 00:44:58 2013] [error] [client 75.52.190.1] Premature end of script headers: index.php

Wordpress调试日志处于活动状态,但未生成任何错误或警告。

其他注意事项:

  • 服务器在Plesk 11.5下管理多个域。
  • 只有一个域遭受此问题。

我将位于/ var / www / system / domain / etc /中的config vhost.conf文件与另一个没有此问题的wordpress域进行了比较。一切都是一样的。

我还尝试删除所有wordpress文件并上传了一个全新的副本。即使使用WordPress的新副本并且没有插件,模板或其他任何内容,问题仍然会发生。

我注意到的最后一项。我的特定于域的vhost.conf具有以下信息:

location ~ /$ {
 index index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
 try_files $uri $uri/ /index.php?$args;
}

这似乎是用/来寻找任何东西。我应该删除/或添加类似的块吗?我没有尝试的唯一原因是因为没有一个域遭受这个问题。我的下一步行动将是下载所有域conf文件并将其与域错误区分开来。如果可能的话,我宁愿不去那条路。

谢谢!

3 个答案:

答案 0 :(得分:0)

您需要从位置块中删除$,因为此位置仅匹配以/结尾的网址,并且由于您不需要正则表达式,因此您可以删除{{1}也是,所以最终的结果是

~

答案 1 :(得分:0)

奇怪,没有

location ~ /$ {
    try_files $uri /wordpress/index.php?$args;
}

我的永久链接有404错误。随着一切正常。也许它会帮助别人。

答案 2 :(得分:0)

最终的工作代码如下:

location ~ / {
   index index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
   try_files $uri $uri/ /index.php?$args;
}