素材牛VIP会员
WordPress 修改固定链接后所有文章 500
 请***神  分类:PHP代码  人气:995  回帖:3  发布于6年前 收藏

问题描述:

最新版本 WordPress,使用 docker 部署并用 nginx 做反代,在设置固定链接为朴素时一切正常,设置为其他打开就是 500。

看日志有这样的错误:

[core:error] [pid 66] [client 172.18.0.1:50794] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: [address]/wordpress/

环境描述:

使用 docker-compose 安装的 wordpress,配置如下:

version: '3.1'

services:

  wordpress:
    image: wordpress
    ports:
      - 8082:80
    links:
      - mysql
    environment:
      WORDPRESS_DB_PASSWORD: xxxxxx

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxx

然后因为博客是挂载域名的二级路径下,所以改了 wp-config.php 文件:

define('WP_SITEURL', '/wordpress');
define('WP_HOME', '/wordpress');
$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/wordpress/wp-admin/",  $_SERVER['REQUEST_URI']);

然后宿主机中,nginx 配置如下:

location /wordpress/ {
  proxy_pass http://0.0.0.0:8082/;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
}

很多地方说是 .htaccess 文件的问题,但是我检查发现每次都是能正常生成的,目前是:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress
 标签:wordpressnginxphp

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv6 码匠
q1***51 UI设计师 6年前#1

根据描述,你怀疑是.htaccess的问题。但是建议先检查一下你是否开启了静态缓存,比如是否启用了 wp super cache 等,把缓存的静态文件清理一下。

Lv6 码匠
这***2 学生 6年前#2

我记得以前好像碰到过类似的。
是不是标题有中文,然后你用sample-post,url中有中文,会解码,然后会出错,你自定义改成id的测一下,或者写文章那里文章url设置一下。

Lv6 码匠
lo***ou 职业无 6年前#3

目前暂时解决了,但是不清楚原因。
解决方法是修改 docker container 里的 .htaccess 内容为:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

nginx 配置不变。

如果有知道原因的菊苣麻烦补充一下,感谢。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取