2011年05月28日(土)

WordPress の URL の Slash 問題の対処

インターネット,ブログに関するりばにしの記事

WordPress を長いこと使っているのですが,ずっと釈然としないことがあります.

それは,「設定」→「一般」から設定可能な「 WordPress のアドレス (URL) 」,および「サイトのアドレス (URL) 」の問題.

うちのブログで言えば,ここには「 https://nao.river24.net/blog/ 」という URL を入れたいわけですが,そのように入力しても,「変更を保存」を押してサーバに送ると,なんと「 https://nao.river24.net/blog 」という URL が表示されます.内部的に,最後に「 / 」がある場合に,それを除去するようになっているようです.

意味がわかりません.こちとら「 blog 」というディレクトリを作って,その下に WordPress をインストールしているので,「 /blog/ 」以下になって然るべきだと思うのですが,何故か WordPress は長年ずっと,この最後の「 / 」を除去し続けてくれます.

まぁ,この困った仕様も,以前の環境ではあまり問題にならなかったのですが,最近 nginx + fastcgi な環境にしてから,ちょっと問題が出てきてしまいました.

なので,nginx の設定に「https://nao.river24.net/blog 」にアクセスしたときの対処を追加しました.

location ~ ^/blog$ {
  rewrite ^/blog$ /blog/ permanent;
}

さて,どうなるか.

GET /blog HTTP/1.1

HTTP/1.1 301 Moved Permanently
Location: https://nao.river24.net/blog/

これでとりあえず解決.

本当は WordPress 側を改造するべきなのかもしれませんが,アップグレードの度にその改造をするのが面倒なので,とりあえずこの対処で.

2011年05月28日21時24分 | Permalink
Trackback URL
Comment Form