サーバーがあり、Ubuntu 14.04.1、Apacheポート8008
およびnginxApacheのプロキシとしてのポート80
で。 Wordpressに基づいてWebサイトを実行します。
私はWordpressのプラグインWP Super Cacheを次の設定で使用します:
また、Permalinksを次のように使用します。
ポート80
にApacheしかなかった場合(nginxは当時インストールされていませんでした)、すべて正常に動作していました。
しかし、今(Apacheで8008
とnginxで80
)問題は:example.com
のようなタイトルページのみをロードできるexample.com/2015/05/16/somepost
などの他のリンクは読み込まれず、タイトルページexample.com
に戻りません。
以下はnginxWebサイトの構成(/etc/nginx/sites-enabled/mysite
)です。
server { listen 80; server_name example.com; root /var/www; index index.php; gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml + rss text/javascript application/javascript; location〜/ \。 { deny all; } location〜* /(?:uploads|files)/.*\.php$ { deny all; } location〜* ^。+ \。(ogg | ogv | svg | svgz | eot | otf | woff | mp4 | ttf | rss | atom | jpg | jpeg | gif | png | ico | Zip | tgz | gz | rar | bz2 | doc | xls | exe | ppt | tar | mid | midi | wav | bmp | rtf)$ { access_log off; log_not_found off; expires max; } location/{ try_files $ uri $ uri//index.php$ args; } location〜\ .php $ { proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ remote_addr; proxy_set_header Host $ Host; proxy_pass http://127.0.0.1:8008; } }
そして、それは/var/www/.htaccess
です:
#BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^ index\.php $-[L] RewriteCond% {REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 /index.php [L] #END WordPress
何が間違っていますか?次のアドバイスを試しました。
しかし、それらのどれも助けなかった。
ちなみに、http://example.com/wp-admin/
はいつでも動作するので、問題はキャッシュに関連していると思います(WP Super Cache)。
a while研究と実験の後、私は解決策を見つけることができました:
location /
ブロックを次のように変更します。location/{ try_files $ uri $ uri//index.php?q=$uri&$args; }