2016-09-26 4 views
1

私はパーマリンクが投稿名に設定されたワードプレスサイトを持っています。すべてのページが表示されず、インデックスを除いて404が返されます。これをプレーンに設定すると表示されますが、多くのリソースが不足しています。理由はわかりません。Wordpressのライブサイトのページが404エラーを返すnginx php-fpm

permalinkが平易な場合は正常に動作しますが、複数のファイルに(インデックスを除いて)404が存在するため、多くのエラーが発生します。 permalinkがpostnameの場合、ページ全体が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. 

すべてのあなたの助けをありがとう!

答えて

1

実際のエラーや404'ingのファイルを見ることなく、あなたのnginx設定でtry_filesが見つからない可能性があります。私はこれをチェックしたい: http://nginxlibrary.com/wordpress-permalinks/

また、nginxのは、.htaccessファイルを必要とするか、または望んでいない: https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/

また、私はあなたのURLをあなたのDBに正しく設定されていることを確認するチェックしたいです。 (私はリンクを掲示したいが、担当者はいない) wp-cliを使用して検索置換を行う。何度も私はdevからステージングに移動することを忘れてしまいました。 :)

このすべてが役立ちます。

*は、これらのチュートリアルに多く見た後

*もう少しを助けるために編集された、彼らはいくつかの細かい点を除外します。これはあなたが持っているもののミックスと私は実行コンフィギュレーションである

listen  443 ssl;   
    root /var/www/example; 
    index index.php index.html index.htm; 

    server_name www.example.com example.com; 

    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/{ 
      try_files $uri $uri/ /index.php?q=$uri&$args; 
    } 

    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$ { 
       try_files $uri =404; 
       fastcgi_split_path_info ^(.+\.php)(/.+)$; 
       fastcgi_pass 127.0.0.1:9001; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include fastcgi_params; 
    } 

:それに遠くに行くことなく、これに近いものを使用してみてください。それがあなたのためにどうなるか教えてください。

+0

ありがとうございました! nginxの設定は完全に働いた:) 私はそれを欠場していた。私は常にnginxが私に新しいので、私はいつものApacheを使用してきた! パスが正しいのに、イメージフォルダ全体が404を返す理由を理解するだけです。 ありがとう! – Mark

+0

こんにちはマーク、私は個人的に使うものに近いものをあなたに与えるために私の答えを編集しました。私がもう少し読むと、それらのチュートリアルには欠けているものがいくつかありました。これを試して、それがnginxがそれらのイメージを見つけるのを助けるかどうかを見てください。乾杯! – jkgaddis

+0

ありがとう!しかし、残念なことに:(イメージはありません。私はそれを理解して、問題があれば私は再び投稿します。 すべての助けてくれてありがとう! – Mark

関連する問題