プロが教えるわが家の防犯対策術!

php+mysqlで掲示板のようなサイトを運営しているのですが、
SEO対策としてurlを、例えば、
a.php?mod=123&id=456 から、a/mod_123/id_456.html 
のような感じに変換してやりたいと考えています。
("/"や"_"などはとくにこだわりません)
(当然、サイトはディレクトリ・ファイルが多数あり、引数も色々あります)

2時間くらい色々調べたところ、
(1).htaccessから、mod_writeを使って実現できる。
(2)私が使っている環境では、mod_writeが使える。
ところまでは分かったのですが、
(3)私が正規表現をほとんど理解できていない。
こともあり、そこから先で行き詰ってしまいました。

そこで、教えていただきたいのですが、
上記を実現するためには、わたしは、どうすれば良いでしょうか?
こうゆうコードを.htaccessに入れれば、実現できるよというのがあると嬉しいのですが、そう簡単ではなさそうです。
やはり、正規表現をマスターして、mod_rewriteをちゃんと理解しないといけないでしょうか?
(理解するにこしたことはないのですが、ブラックボックスとしてあつかえないでしょうか?)

以上、ややこしい質問で恐縮ですが、よろしくお願いいたします。

A 回答 (1件)

ある程度理解しないと無理じゃないでしょうか


例に出されたURLの場合は
RewriteEngine on
RewriteRule (.+)/(.+)_(.+)/(.+)_(.+)\.html$ $1.php?$2=$3&$4=$5
で出来ると思いますが、これぐらいは理解できないとだめでしょう。
書き換えもとの( )の部分が書き換え先の$数字の部分に順番に反映されます。
(.+)はすべての文字を表しますが条件によってはこの部分を英字だけとか数字だけとかの正規表現にしないといけません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

そうですよね。
恥ずかしい質問でした。

最近、正規表現で行き詰ることが多いので、
この機会に、じっくりと勉強しようと思います。

お礼日時:2006/11/02 00:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!