我有一个WordPress的网站,永久链接设置为发布名称。所有页面不会出现并返回一个404,除了索引。如果我将它设置为纯粹的,那么它们就会出现,但很多资源都不存在,我不知道为什么。WordPress的生活网站页面返回404错误nginx php-fpm
所以说清楚一点,如果永久链接是纯文本的,它可以正常工作,但是由于多个文件(索引除外)上有404,所以会出现很多错误。 如果永久链接是邮政名,那么整个页面是404。
这是我的htaccess文件,我的nginx配置和我的php-fpm配置。 任何人都可以看到问题吗?
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
NGINX CONF
server {
listen 80;
server_name www.example.com example.com;
root /var/www/example;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com example.com;
root /var/www/example;
index index.php;
ssl_certificate /etc/nginx/ssl/example.com/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;
access_log /var/log/nginx/example.log main;
error_log /var/log/nginx/example_error.log;
location/{
root /var/www/example;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP-FPM
[example]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
...and some more I don't think is relevant but I can supply if asked for.
感谢您对您的帮助!
非常感谢! nginx配置工作完美:) 我错过了。我一直使用apache,所以nginx对我来说是新的! 现在只是想知道为什么整个图像文件夹返回404即使路径是正确的! 谢谢! – Mark
嗨马克,我编辑了我的答案,让你更接近我个人使用的东西。在我进一步阅读之后,在这些教程中还是缺少了一些东西。试试看看它是否有助于nginx找到这些图像。干杯! – jkgaddis
谢谢!但不幸的是没有:(没有图像,我会找出来,如果我有麻烦,我会再次发布。 感谢您的帮助! – Mark