こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

動的ページを静的ページに

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をちゃんと理解しないといけないでしょうか?
(理解するにこしたことはないのですが、ブラックボックスとしてあつかえないでしょうか?)

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

投稿日時 - 2006-11-01 10:17:41

QNo.2510669

すぐに回答ほしいです

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

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

投稿日時 - 2006-11-01 15:36:35

お礼

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

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

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

投稿日時 - 2006-11-02 00:24:00

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問