wp-admin 不显示仪表板

wp-admin does not show dashboard

一段时间以来,我一直在尝试解决这个问题,但没有找到有效的答案。我一直在为内部网开发一个 wordpress 网站(识别信息已被删除)。我从我们的网络人员那里得到了正确的 dns 名称,并得到了在 nginx 中创建的所有内容。到现在为止,我都是通过ip访问wp

我的问题有两个。第一个是我可以 select 永久链接结构,但唯一可靠工作的是普通结构。如果任何其他结构被 selected,wp-admin 无限重定向到自身。

为了让事情更有趣一点,如果我 select 普通结构,wp-admin 在注销时不显示登录页面,在登录时也不显示仪表板。相反,它显示站点的主页。

我尝试过的事情:

  1. 将永久链接更改为计划:有效,但 wp-admin 不显示仪表板
  2. 删除 .htaccess 文件:这些在我的配置中不存在,因为我使用的是 nginx,我还对文件结构进行了 grep 以防万一没有 .htaccess 文件。
  3. 更新数据库中的 siteurl/home:现在可以通过 dns
  4. 中提供的主机名访问 wp

我冒昧地包含了我的 nginx 站点配置供您阅读。

我们将不胜感激任何帮助完成这项工作的人。

server {
       listen 80;
       listen [::]:80;

       server_name intranet.company.com;

       root /var/www/intranet/;

       access_log /var/log/nginx/intranet/access.log;
       error_log /var/log/nginx/intranet/error.log;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                 allow all;
                 log_not_found off;
                 access_log off;
        }

        index index.php;

        location ~ /\. {
                 deny all;
        }

        location ~* /(?:uploads|files)/.*\.php$ {
                 deny all;
        }

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

        location ~ \.php$ {
                 include snippets/fastcgi-php.conf;
                 fastcgi_intercept_errors on;
                 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
                 expires max;
                 access_log off;
        }
}

编辑

经过进一步测试,wordpress 似乎没有正确显示子目录。 wordpress 配置肯定有问题,看起来 nginx 工作正常。

编辑 2

经过更多测试后,通过 ip 地址访问网站时,该网站工作正常。 wp-admin 按预期正确重定向到登录页面,并在登录时正确重定向到仪表板。

编辑 3

经进一步检查,该站点似乎正在将静态文件重定向到目录。当我通过 dns 名称或 ip 地址访问它时,wordpress 安装的根目录中有一个 readme.html 文件,wordpress 将文件名重定向到目录。然后它再次给我主页,而不是错误或任何其他出现问题的迹象。我还启用了调试日志,这也没有帮助。

希望这 link 对您有所帮助:only default permalinks working wordpress others become 404 error

同时检查您的站点是否启用了 mod_rewrite 规则。

确保您的文件夹和文件权限正确

因此,在对这个问题进行深入研究和思考之后,WordPress 似乎希望成为默认的虚拟站点。我试验了这个理论,结果证明是正确的。一旦我重新启用默认站点并将其指向 WordPress 目录,它就会按预期开始工作。

这里要注意的是虚拟站点文件必须使用“_”作为 server_name 并且必须在监听行中包含 "default_server"。