mod_rewriteを使用してURLを変換している場合、そのURLをPHPで取得する方法はありますか?

(例)http://example.com/test/ (実際はhttp://example.com/index.php?mode=aaaa です)

この場合index.php内で$_SREVER["REQUEST_URI"]を参照しても、index.phpしか得られない。"http://example.com/test/"というURLを取得したいのです。

よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2009/01/15 06:29:21
  • 終了:2009/01/22 06:30:03

回答(3件)

id:bayan No.1

bayan回答回数100ベストアンサー獲得回数132009/01/15 08:25:28

ポイント27pt

$_SERVER["REQUEST_URI"] ではだめですか?

$_SERVER["REDIRECT_URL"] だとどうですか?

差し支えなければ

(1) mod_rewrite の設定や

(2) Apache 、PHP のバージョン

も教えてください。

id:munyaX No.2

munyaX回答回数120ベストアンサー獲得回数242009/01/15 12:46:52

ポイント27pt

リダイレクトの設定(mod_rewrite)で、

http://example.com/test/ → http://example.com/index.php?mode=aaaa

としているところを、

http://example.com/test/ → http://example.com/index.php?mode=aaaa&_uri=/test/

とクエリをーつけて$_GET($_REQUEST)を参照するのが手っ取り早い気がします。

id:sphire No.3

sphire回答回数115ベストアンサー獲得回数122009/01/18 01:22:35

ポイント26pt

うちの環境では、以下のようなRewriteRuleで取得できますが、どうでしょうか?

RewriteRule (.*) /index.php?mode=aaaa [L]

元々の /test/ と変換後の aaaa が関係ないのは仕様なんですよね。きっと。

ちなみに、最後のフラグをうっかり [R,L] とかにすると取得できません。

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

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

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

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

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