Nginx和WordPress的500错误相当永久链接

时间:2014-05-29 15:11:21

标签: php wordpress nginx permalinks

在一起运行Nginx和WP并设置相当永久链接时,遇到500问题。我一直在尝试一些谷歌的不同方法,但似乎都没有帮助。

配置 -

server {
        listen   80;

        root /var/www/mydomain.com/public_html;
        index index.php index.html index.htm;

        server_name .mydomain.com;

        location / {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;

        }
}

所有文件加载完美,如果使用默认的永久链接设置,页面也能正常工作。奇怪的是,如果我检查网络日志,我首先看到200 OK正在收到,然后立即跟着500.任何想法?

编辑:设置为关闭,因为我转而使用Apache。将标记正确的答案,因为它似乎帮助了其他人。

2 个答案:

答案 0 :(得分:9)

尝试:

try_files $uri $uri/ /index.php?q=$uri&$args;

fastcgi_index /index.php;

(注意/)

答案 1 :(得分:4)

Rufinus的回答也是正确的。

这是正确的。你忘了定义索引。所以nginx不知道要锁定和处理哪个文件。希望这能帮到你。

location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

您的配置没有fastcgi_parm

将此行添加到您的配置中。它是Nginx Config的主要部分。

使用您的网站路径位置更改 / home / public_html

fastcgi_param SCRIPT_FILENAME /home/public_html$fastcgi_script_name;

这是我的整个wordpress配置文件。我希望有效。 其工作的Nginx配置文件包含漂亮的网址。

server {
                listen 80;
                server_name example.com;
                root /home/public_html;
                index index.php index.htm index.html;

location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location /favicon.ico { access_log off; log_not_found off; }
location ~* \.(jpg|jpeg|gif|png|js|xml)$ {
    access_log        off;
    log_not_found     off;
    expires           360d;
}


location ~ /\. {
    access_log off;
    log_not_found off; 
    deny all;
}


location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/public_html$fastcgi_script_name;
include fastcgi_params;
}
 }