• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccessの正規表現の書き方)

.htaccessの正規表現の書き方

このQ&Aのポイント
  • .htaccessで301リダイレクトの設定をする際に、正規表現の書き方がわからない場合、以下のような書き方が適切です。
  • http://www.zzz.com/okinawa/test1.html → http://www.zzz.com/okinawa/test1.php http://www.zzz.com/okinawa/testdetail1.html → http://www.zzz.com/okinawa/test1.php http://www.zzz.com/kagoshima/test1.html → http://www.zzz.com/okinawa/test1.php http://www.zzz.com/kagoshima/testdetail1.html → http://www.zzz.com/okinawa/test1.php
  • 要約文3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

.htaccessが利用できるのでしたら、拡張子HTMLのままでPHPを実行させる方法をとったほうが楽でしたね(苦笑) サーバによってはできない場合もあるので、一概には言えませんが。 お尋ねの件ですが、都道府県別ディレクトリの中身だけを「*.html」から「*.php」に変更したものとして、次のような方法がでいかがでしょうか。 ささやかですが、サーバへの負荷も軽くなります。 ---- .htaccess の内容 ---- RedirectMatch 301 (.*)\.html$ http://www.zzz.com/●●/$1.php -------------------------- 「●●」の部分には都道府県のディレクトリ名を入れてください。「okinawa」とか「tokyo」とかですね。 この.htaccessファイルを都道府県ごとに用意して、それぞれのディレクトリにアップロードしてください。 この方法だと、記述に間違いがあってもサイト全体が閲覧不可になることはありませんので。 それでも念のため、テスト用ディレクトリを作って、そこで動作確認してください。 .htaccessの内容は、先頭から  1.リダイレクトのコードは何か(RedirectMatch)  2.恒久的に移動しました(301)  3.拡張子htmlで終わるファイルを((.*)\.html$)  4.このアドレスにリダイレクトする(http://www.zzz.com/●●/$1.php) 3番の拡張子を除いたファイル名が4番の「$1」に入ります。 他には「Mod-Rewrite」を用いた方法もありますが、こちらは正規表現が複雑になりがちです。 複雑にはなりますが、1枚のファイルで済ませることもできます。 とりあえず、簡単な書式を理解して、それから難しいことをすればいいと思います。 参照URLは.htaccessの解説サイトです。わかりやすいですので、参考までに。

参考URL:
http://htaccess.pasoa.com/pattern.htm
malonchan256
質問者

お礼

ありがとうございました! うまくいきました^^

関連するQ&A

専門家に質問してみよう