るいすのブログ

オタクエンジニアの雑記

Nginx でパーマリンクの設定が出来てなかった


もうすぐテスト期間っすねw 爆笑

 

パーマリンク設定前のアドレスが404

たとえばこのアドレス。 短縮アドレスになってますが元は http://luispc.com/archives/5430 (あれ投稿画面だと短縮なのに展開されてる?)

今は繋がるけどさっきまで404のままだった。 こんな感じに404が多いとGoogleから評価が上がらないのとせっかくアクセスしてもらいたいのに404じゃねえ?

 

nginxの設定をする

vim /etc/nginx/conf.d/default.conf

rewrite ^/archives/(.*)$ http://$host/?p=$1 last;

rewrite

URLを書き換えます。 rewrite regex replacement [flag];

今回は http://luispc.com/archives/ できたアドレスを http://luispc.com/?p= に書き換える目的

^/archives/(.)$ が条件。 (.)$ のように()で囲んで最後に$をすると$1として参照できるらしい。

http://$host/?p=$1 とすれば http://luispc.com/?p=5430 に展開される。

最後のflagの違いに関してはこちらのサイトが詳しいです。 https://siguniang.wordpress.com/2014/02/16/nginx-url-rewriting-difference-between-break-and-last/