[PHP]URLパラメータの受け取り方

このQ&Aのポイント
  • PHPでURLパラメータの受け取り方を実装する方法について教えてください。
  • http://example.com/aaaというURLにアクセスがあった場合、「aaa」だけを抜き出して処理する方法を教えてください。
  • ただし、http://example.com/aaaにアクセスするとNotFoundになってしまうため、どのようにすればindex.phpでaaaをパラメータとして受け取れるのでしょうか?
回答を見る
  • ベストアンサー

[PHP]URLパラメータの受け取り方

こんにちは。 PHPで下記のことを実装しようとしていますが、なかなかうまく行きません。 http://example.com/aaa というURLにアクセスがあった場合、「aaa」だけを抜き出して処理する、 ということを実装したいのですが、上記アドレスにアクセスするとNotFoundになってしまいます。 上記の場合、「aaaというファイルを探しにいく」という処理がされているためNotFoundになることは分かるのですが、どのようにすればindex.phpでaaaをパラメータとして受け取れるのでしょうか? ※システムの都合上、http://example.com/?id=aaaという風には出来ません。 大変恐縮ですがご教授いただけるとありがたいです。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5068/13243)
回答No.1

WebサーバにApacheを使っているのであれば、mod_rewrite を使って処理するのが普通ですね。

amnet2012
質問者

お礼

ありがとうございます! htaccessで頑張ってみますm(_ _)m

関連するQ&A

  • URLのパラメータ改ざんとは何でしょうか?

    この記事の文中で 「URLに付加されるパラメータを直接改ざんして不正なアクセスをする」と書かれていますが、これが正直意味が分かりません。 だとすれば、他人や友人のIDを検索する際に、 example.com/user?id=1234 を example.com/user?id=5678 と変えて検索する事も不正アクセス行為なのでしょうか? また、あるウェブサイトの不正アクセス被害の記事の中で、「URLの末尾にあるパラメータに不正なコマンドを混入させ表示させようとするSQLインジェクション」の意味が分かりません。 SQLインジェクションは普通「delete from」や「union select」などの文字列を検索フォームに入れる行為ですが、 パラメータにfrom無しで「delete」だけ入れて検索する行為もそうなのでしょうか? example.com/watch?v=delete など 詳しい解説を宜しくお願いします。 【引用記事】 https://www.techmatrix.co.jp/product/appscan/w_attackofappli/attack1.html

    • ベストアンサー
    • PHP
  • phpでのURL取得について

    phpにて、ソース内のURLを取得するプログラムを作っています。 その中に短縮URLが混ざっており、取得しても例えば“http://tinyurl.com/?aaa”のような形になってしまいます。 この“http://tinyurl.com/?aaa”が“http://www.yahoo.co.jp/index.html”の短縮URLなら“http://www.yahoo.co.jp/index.html”の形で取得したいのですが、phpで可能でしょうか?

  • .htaccessで動的URLを静的化

    動的URLを静的化したいと考えています。 ネットで調べるとよくあるサンプルは RewriteRule ^/dir/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ /dir/index.php?a=$1&b=$2 という風に「静的なURLにアクセスして、内部ではパラメータ付きのURLでの処理をさせる」 というパターンが多いのですが、私がやりたいのは逆で「動的URLにアクセスがあれば静的URLにリダイレクトをさせる」というものです。 理由は、 ・すでにサイトがある程度できあがっていて、既存のURLもある程度Googleにインデックスされている ・パラメータの組み合わせパターンが色々あるため上記のようなルールで対応できない などです。 そこで http://xxx.com/dir/index.php?a=01&b=02 や http://xxx.com/dir/index.php?b=02&c=03&x=999 といった動的URLを http://xxx.com/dir/a-01/b-02/ http://xxx.com/dir/b-02/c-03/x-999/ RewriteRuleを使ってこのような形で一旦301リダイレクトさせ、これをPHPの内部処理でパラメータ付きURLに戻すことによって既存のロジックを生かしたままURLを静的化できないかと考えています。 RewriteRuleの記述を色々書き換えて試してみたのですが、どうしてもやりたいようなURLの変換ができません。 どのように記述すればよいか、ご教授下さい。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでパラメータ取得

    ※httpのhを省いています。 //index.phpの内部に if( $_REQUEST['m'] == "abc" ) { echo 'abc'; } if( $_REQUEST['m'] == "cde" ) { echo 'cde'; } というプログラムがあり、 ttp://example.com/index.php?a=abc とした時、「abc」が返され、 ttp://example.com/index.php?a=cde とした時、「cde」が返されるのは分かりますが、「abc」も「cde」も両方共表示できるにはどのようなにしたらURLが良いですか? あるいは、プログラムの一部を変えて両方表示する方法はあるでしょうか? ただし、下記の場合を除くとします。 ttp://example.com/index.php?a=abc if( $_REQUEST['m'] == "abc" ) { echo 'abc'; echo 'cde'; } お手数ですが、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • パラメーター付きのURLをリダイレクトしたい

    お世話になります .htaccess でリダイレクトを行いたいのですが、パラメータ付きのURLの為かリダイレクトができません。 .htaccess内の記述↓ redirect 301 /aaa/bbb.php?N=1 http://www.aaa.com/index.html 「?=N1」の部分を取れば問題なくリダイレクトします パラメータ付きのURLはリダイレクト可能でしょうか? よろしくお願いいたします

  • URLのパラメータに関して

    pukiwikiで作成されたページを自作のphpに書き直そうとしています。 現状のpukiwikiですと、ページ遷移する際のURLが/?aaaとか/?bbbという感じになっているのですが、このパラメータの値はどうやって出力すればよいのでしょうか。 ?data=aaaとか?data=bbbとなっていれば出力できるのですが… お願いします。

    • ベストアンサー
    • PHP
  • 【php】動的なURLを静的に見せる方法

    表題の通りですが、知識に乏しい為非常に困っています。 あるウェブサイトを構築しており、開発環境はphp+smartyです。 フレームワークはethnaというものを利用しています。 例えば、以下のようにパラメーターがいくつも付いている動的なURLに可変するページがあるとします。 http://testsiteokwave.com/index.php?action_test=1&param1=777&param2=999 これを内部で処理し、ユーザーには http://testsiteokwave.com/test/777/999/ のような静的URLに見せたいのですが、良い方法が見つかりません。 尚、javascriptは使用しないという条件があります。 phpで変換したり、smartyのフィルタなどを用いてできないでしょうか?

    • ベストアンサー
    • PHP
  • ちょっと複雑なURL分解について

    http://hoge.com/test.php?mode=link&id=3& url=http://hogehoge.com/ (表示上の問題でURLを途中で改行しています) 上記のようなURLを取得($_GET)した場合に、URLを分解して下記の値を得るスクリプトを作成しています。 $mode値:link $id値:3 $url値:http://hogehoge.com/ これだけであれば特に悩む必要はないのですが、問題は$url値に以下のようなデータが与えられた場合です。 http://hoge.com/test.php?mode=link&id=3& url=http://hogehoge.com/index.php?mode=abc&id=123 (表示上の問題でURLを途中で改行しています) このようなURLを取得($_GET)した場合に、以下の値を得るにはどう処理すれば良いのでしょうか。 $mode値:link $id値:3 $url値:http://hogehoge.com/index.php?mode=abc&id=123 どなたか詳しい方がいらっしゃいましたら、ご教授お願い致します。

    • ベストアンサー
    • PHP
  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • パラメータの前にスラッシュ

    example.com?hoge=1・・・① example.com/?hoge=1・・・② 上記URLで2種類のURLの違いは何でしょうか。 あるサイトに最初にアクセスした時は example.com/keyword?anyword=hoge の形式でしたが、 本日アクセスしたら、 example.com/keyword/?anyword=hoge の形式で keywordの前にスラッシュが付いたものに変わっていました。 なぜ、このような現象が起きたのでしょうか。 また、上記のURL①と②はアクセスしても同じ検索結果でした。

    • ベストアンサー
    • PHP

専門家に質問してみよう