You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

作为其他CMS子目录的WordPress访问wp-admin时出现重定向循环

解决WordPress子目录wp-admin重定向循环及403问题

1. 修正WordPress核心配置(wp-config.php)

打开WordPress根目录下的wp-config.php,添加/调整以下配置,确保与实际访问URL匹配:

define('WP_HOME', 'https://www.mycms.pl/my/wp');
define('WP_SITEURL', 'https://www.mycms.pl/my/wp');
define('FORCE_SSL_ADMIN', true);
// 修复子目录Cookie路径问题
define('COOKIEPATH', '/my/wp/');
define('SITECOOKIEPATH', '/my/wp/');
define('ADMIN_COOKIE_PATH', '/my/wp/wp-admin/');

这些配置确保WordPress生成的后台链接、Cookie路径完全匹配子目录环境,从根源避免URL不匹配引发的重定向循环。

2. 调整Nginx静态文件处理逻辑

在location /my/wp下的静态文件块中,当前try_files指向主CMS的/index.php,会导致WordPress静态资源加载异常。修改为:

location ~* \.(css|gif|jpg|js|png|ico|otf|sng|xls|doc|exe|jpeg|tgx|ttf)$ {
    access_log off;
    expires max;
    try_files $uri $uri/ /my/wp/index.php?$query_string;
}

3. 单独配置/wp-admin请求路由

在location /my/wp块内部添加专属的/wp-admin处理规则,确保请求完全由WordPress的PHP-FPM处理,避免主CMS配置干扰:

location /my/wp/wp-admin {
    try_files $uri $uri/ /my/wp/wp-admin/index.php?$args;
    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_read_timeout 3600s;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 128k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/wp-fpm.sock;
        fastcgi_index index.php;
    }
}

4. 修复文件权限问题

403错误大概率是权限配置异常导致,执行以下命令修正(根据服务器实际运行用户调整www-data,比如部分服务器用nginx用户):

chown -R www-data:www-data /srv/wordpress/my/wp
find /srv/wordpress/my/wp -type d -exec chmod 755 {} \;
find /srv/wordpress/my/wp -type f -exec chmod 644 {} \;

5. 验证配置并重启服务

修改Nginx配置后,先验证语法合法性:

nginx -t

验证通过后重启Nginx:

systemctl restart nginx

最后清除浏览器缓存及相关Cookie,重新测试wp-admin访问。


内容的提问来源于stack exchange,提问作者macko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:32:17