我安装了 W3 Total Cache 插件,它自动配置了我的 nginx 配置文件。不幸的是,没有显示任何 CSS 或其他静态文件。除了无主题的主页外,所有内容都是 404。
这是 nginx 配置:http://pastie.org/2296620我希望有人能指出问题所在。
谢谢你,
麦克风
答案1
我看到的主要问题是 WordPress 重写。
在本节中,删除 root 和 index 指令并将它们放在 listen 80 之下,然后将 if rewrite 更改为 try 文件。
为了帮助保持井然有序,我会将 W3 Total Cache 配置移动到单独的文件并使用包含来添加它。
以下是一个例子:
server {
listen 80;
server_name domain.com www.domain.com;
root /srv/www/domain/public;
access_log /var/log/nginx/example.access.log;
error_log /var/log/nginx/example.error.log;
client_max_body_size 8M;
client_body_buffer_size 128k;
location / {
#try_files $uri $uri/ /index.php;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location /search { limit_req zone=one burst=3 nodelay; rewrite ^ /index.php; }
fastcgi_intercept_errors off;
location ~ \.php {
try_files $uri =404;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass 127.0.0.1:9000;
}
include w3-total-cache-config.conf;
}
我最近写了一篇博客文章使用 W3 Total Cache 设置 Nginx您可能也会发现它们很有帮助。
答案2
好吧,我会从简单开始——删除所有 W3TC 缓存垃圾,并进行基本的站点配置,然后首先使其正常工作。检查您的错误日志,了解请求出现 404 的原因;很有可能您只是弄乱了链接或其他东西。此外,我看到很多陷阱在您的配置中,您可能需要研究如何修复。