Wordpress Nginx 404 未找到

问题描述 投票:0回答:1

我刚刚使用 nginx、php8.1-fpm、mysql 将我的多站点 WordPress 从旧服务器(centos)迁移到新服务器(ubuntu22)。 我确信我的所有配置都是正确的,但浏览器总是显示 404 not found

server {
    listen 80 default_server;
    listen 443 ssl default_server;
    ssl_certificate /home/bagwi2024/ssl/example.com.ssl;
    ssl_certificate_key /home/bagwi2024/ssl/example.com.key;
    #ssl_prefer_server_ciphers on;
    server_name example.com;
    access_log /var/www/html/access.log;
    error_log /var/www/html/error.log;
    root /var/www/html/dev-kbd;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
            #try_files $uri $uri/ =404;
            #try_files $uri /index.html index.php;
            try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
            deny all;
    }

}

wordpress nginx
1个回答
0
投票

没有足够的信息来解决这个问题,但在看到你的配置后,这里有几个可能的问题......

当然,本地文件上的目录结构可能有很多...但请记住,404 可能是由于文件系统结构造成的:

root /var/www/html/dev-kbd; #given this

期望可以在这里访问 WordPress 软件:

/var/www/html/dev-kbd/wp-admin/* 
/var/www/html/dev-kbd/wp-content/*
*etc*

你可以拥有任何你想要的,但配置必须对齐。

还要注意 WordPress 管理员与站点主页设置的一致性...

如果您的 WordPress 使用域根作为站点主页,应该没问题,否则调整 Nginx + WP 但我假设它之前可以工作并且您确定复制了精确的文件结构,那么就可以了。


Debian/Ubuntu 也使用默认的 ssl 位置(不是文件名,目录):

/etc/ssl/certs/com_domain_www.crt; #chown root:root  #chmod 644
/etc/ssl/private/com_domain_www.key; #chown root:ssl-cert #chmod 640

这是我对配置问题的第一猜测,因为你是从 CentOS 移植的,它或多或少类似于 RHEL。

如果您已经自定义了您的用户主页,并具有 root/ssl-cert 的访问权限(权限)来访问您的证书和私钥,那就太好了;但您提出的结构有几个原因令人担忧......

© www.soinside.com 2019 - 2024. All rights reserved.