【问题标题】:wp-admin does not show dashboardwp-admin 不显示仪表板
【发布时间】:2020-03-27 09:44:31
【问题描述】:

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

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

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

我尝试过的事情:

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

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

【问题讨论】:

    标签: php wordpress nginx wp-admin wordpress-admin


    【解决方案1】:

    希望此链接对您有所帮助:only default permalinks working wordpress others become 404 error

    还要检查您的站点上是否启用了 mod_rewrite 规则。

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

    【讨论】:

    • 我看过那篇文章,它提到了 mod_rewrite,它不适用,因为那是 apache config,而不是 nginx。至于 wp 数据库中的 rewrite_rules,它是空白的,因为我已将永久链接结构切换为“plain”。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 2019-04-16
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      相关资源
      最近更新 更多