• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:path_info??phpのファイル名を書かずに引数を渡すには・・・)

path_infoを使わずに、PHPの引数を渡す方法はあるのか?

このQ&Aのポイント
  • path_infoを使用せずに、phpのファイル名を書かずに引数を渡す方法があるのか疑問に思っています。
  • tinyurl.comのように、引数を指定してリダイレクトする方法を再現しようと思いましたが、どうやって引数を渡すのかわかりません。
  • 高度な技術を使用しているのかもしれませんが、url配下に置いたindex.phpに引数をどうやって渡すのか知りたいです。

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

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

path_infoは使ったことが無いですが、良く使われるのはapacheのmod_aliasやmod_rewriteなどじゃないかな?と思います。 例えば、 ScriptAlias .* /var/lib/html/index.php #この記述はhttpd.confや.htaccessなどに記載する物です。 こんな風に書いておくと、全てのアクセスにおいてindex.phpが動いたりすると思います。 ■mod_alias http://httpd.apache.org/docs/2.0/ja/mod/mod_alias.html Alias ScriptAlias AliasMatch ScriptAliasMatch ■mod_rewrite http://httpd.apache.org/docs/2.0/ja/mod/mod_rewrite.html RewriteRule これで http://url/6だろうが、http://url/path/6だろうが、全て同一のPHPが受け取ったりします。 特定のpathだけ動的にしたい場合などは正規表現を使って設定したりします。 ScriptAliasMatch /path/ /var/lib/html/index.php こんな感じでしょうか。 そして、6という値を引数として受け取りたい場合、$_SERVER['REQUEST_URI']などを分割して取得します。 http://url/6なら、 //index.phpで書くものです。 $a = split("/", $_SERVER['REQUEST_URI']); $value = $a[1]; こんな風にして取得します。

azicyan
質問者

お礼

ご丁寧にありがとうございます。 質問したあと色々調べていて、おっしゃるとおり mod_rewrite というので実現できることがわかり、ある程度成功しました! mod_aliasという方法はわかりませんでした。もうすこし調べてみます! ところでmod_rewriteの設定ファイルの書き方で少しわからない部分がありました。 畏れ入りますが、そちらの方もご教授いただけると助かります・・・汗 補足に書き込みます。 ぜひよろしくお願いいたします!

azicyan
質問者

補足

すいません。コチラです。 http://okwave.jp/qa3641926.html ruleに書く正規表現のところが間違っているのだと思うのですが・・・

すると、全ての回答が全文表示されます。

関連するQ&A