エントリー

mod_rewriteによるURLの統一

mod_rewriteでのURL統一について調べることがあったので、テストも兼ねてこのサイトに導入してみました。

統一方法はググればすぐに出てきたものの、静的ページを前提にしているのかPHPページだと微妙に正しく動かないものが多かったのでメモ。

それぞれ一番上のURLに統一されます。(www あり。index.php なし。)設定してあるmod_rewriteは以下のとおりです。すでにfreo用のmod_rewriteを設定している場合、それは削除します。(もしくは、見比べながら加筆します。)

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteCond %{HTTP_HOST} ^favorite-labo.org
  RewriteRule ^(.*)$ http://www.favorite-labo.org/$1 [R=301,L,NE]

  RewriteCond %{THE_REQUEST} ^GET\ .*/index.php
  RewriteRule ^(.*)index.php/?(.*)$ http://www.favorite-labo.org/$1$2 [R=301,L,NE]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule (.*) index.php/$1 [L]
</IfModule>

URLがこのサイト用なので、各々のサイトに導入する場合は調整が必要です。そのうち、再度色々と検証してからfreoサイトに解説を書くとします。

↑書きました。URLの簡略化(mod_rewrite)について

ページ移動

ユーティリティ

カテゴリー

検索

エントリー検索フォーム
キーワード

過去ログ

過去ログ表示フォーム
キーワード

Feed