【ピンポイントで500ポイント】del.icio.usやtwitterのように、『http://ドメイン/ユーザーID』として、実際はhttp://ドメイン/index.php?ユーザーIDとして受け取ることができる具体的な方法が載っているサイト、または手法を教えてください。


現在わかっていることは、PATH_INFOとmod_rewriteでできそうだ、ということくらいです。

ググってみると、『http://ドメイン/ディレクトリ/ユーザーID』のやり方としてのPATH_INFOとmod_rewriteでの対処法はいっぱい出てきますが、今回のように『http://ドメイン/ユーザーID』というのはあまりないようです。ですので、『http://ドメイン/ディレクトリ/ユーザーID』の方法を示されてもポイントは多くお支払いできないのでご了承ください。

回答の条件
  • 1人2回まで
  • 登録:2008/04/21 14:09:14
  • 終了:2008/04/28 14:10:03

回答(2件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252008/04/21 14:38:50

ポイント60pt

/ にはユーザ以外のサイト共通のやcssや画像等があると思いますが、そういうのはリダイレクトされては困ります。

なので以下のように REQUEST_FILENAME が存在するかどうかをチェックして、ファイルやディレクトリが存在しない場合のみ適当なページにユーザ名部分を渡してやればよいと思います。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*) user.php?user=$1

こうすることによりファイルが存在すればそのファイルを通常通り返して、そうでなければuser.phpにアクセスしてきたパスを渡します。

user.php側では与えられたuserが存在しなければ404を返すように作っておけばよいです。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 sterwars22 363 271 0 2008-04-23 21:42:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません