Ubuntu12 + nginx で作ったWordPressのパーマリンク設定
WordPressの各投稿のURLは?p=123という感じのがデフォルトですが、
これは・・・・・・・なので、
SEOも考慮に入れた日付と投稿名のようなアドレスにしたくなります。
でもダッシュボードで設定を変更すると各投稿は
“500 Internal Server Erorr”
が出てしまいます。
これはApacheの場合は.htaccessにmod_rewriteルールを設定すれば解決するはずですが、
Nginxの場合は.htaccessは使わないということです。
解決方法は
こちらに詳しく説明がありました。
nginx で WordPress のパーマリンク設定を使用する
ありがとうございます。
代わりの設定は/etc/nginx/sites-available/defaultで定義します。
今回はドキュメントルート(デフォルトは/usr/share/nginx/www)にインストールしたWordPressの設定なので
location /の項目に以下を追加しました。
[shell]
location / {
root /usr/share/nginx/www;
index index.php;
if (-f $request_filename) {
expires 30d;
break;
}
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}
}
[/shell]
nginxの設定再読み込み
Webサーバだからreloadが一般的なのでしょうかね。
[shell]
$ sudo /etc/init.d/nginx reload
[/shell]
restartしたら怒られてしまいました・・・。
何でインバリッドなのだろう・・・?
Restarting nginx: nginx: invalid option: "/var/run/nginx.pid"