一段时间以来,我一直在尝试解决此问题,但尚未找到有效的答案。我一直在工作的内部网的 wordpress 网站上工作(识别信息已被删除)。我从我们的网络人员那里得到了正确的 dns 名称,并在 nginx 中创建了所有内容。到目前为止,我一直通过ip地址访问wp。
我的问题是双重的。第一个是我可以选择一个永久链接结构,但唯一可靠工作的是普通结构。如果选择了任何其他结构,wp-admin 将无限重定向到自身。
为了让事情更有趣,如果我选择普通结构,wp-admin 在注销时不会显示登录页面,也不会在登录时显示仪表板。相反,它会显示站点的主页。
我尝试过的事情:
- 将永久链接更改为计划:有效,但 wp-admin 不显示仪表板
- 删除 .htaccess 文件:这些在我的配置中不存在,因为我使用的是 nginx,我还通过文件结构做了一个 grep 以防万一并且没有 .htaccess 文件。
- 更新数据库中的 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
经过进一步检查,该站点似乎正在将静态文件重定向到目录。当我通过 dns 名称或 ip 地址访问 wordpress 安装的根目录中有一个 readme.html 文件,wordpress 会将文件名重定向到目录。然后它再次给我主页,而不是错误或任何其他表明出现问题的迹象。我还启用了调试日志,这也无济于事。