アプリ版:「スタンプのみでお礼する」機能のリリースについて

わかりにくくすみません。
現在、他人のphpプログラムを解析しているのですが、次のような記述で書かれています。
$para1 = '12345';
$para2 = '67890';
header("Location: http://aaa.com/search/{$para1}/{$para2}");

htmlなりphpなりのファイルを見ようと思いサーバにアクセスし、
aaa.comのドキュメントルートから
/search/12345/67890
を辿って行こうと思ったら、サーバには/searchまでしかディレクトリがありません。

私のイメージとしては
/search/12345/67890/index.php
といった具合に、index.phpなりindex.htmlなりがあるものだと思ったのですが、
それ以前にディレクトリが存在していません。。

これはいったいどういうことなのでしょうか?
どういう技術(設定等)すればできるのでしょうか?
実際に動いているプログラムはどこにあるのでしょうか?
(私は/search/12345/67890/index.phpが動いているのかと思ったのですが違いました)

プログラムはphpですが、Apacheの話なのかもしれませんが、
調べるにもキーワードもわからず困っております。
お手数ですがご教授頂けませんでしょうか?

ーーーー
そういえば最近この手のURLをブログやFacebookなどなどでよく見かけます。
昔は
index.php?id=1234567890
とかやっていましたが、こういうやり方ではなくなったという事なのでしょうか。

質問者からの補足コメント

  • どう思う?

    楽天なんかも似たようなURLを見かけます。
    http://xxxxxxx.com/free-stitch/c/0000000100/
    実際に「c」や「000000100」というディレクトリは
    存在しないのではないかと思うのですが、どうなのでしょうか?

      補足日時:2017/01/16 22:44

A 回答 (2件)

>index.php?id1=12345&id2=67890



なんとも言えませんが上記は
index.php?id2=67890&id1=12345でも結果は同じですが
URLとしてば別物として認識されます。
一意性が低くなるのがデメリットでしょうか?

一方
/12345/67890
とすれば順序によって一意性が保て、以前はSEOに有利だとされていましたが
いまは検索エンジンも頭がよくなったのでそんなに変わらないかもしれません
ただ、URLを他人に提示するときにはパラメータ付きより有利です。

個人的にはパラメータを指定して書くほうが好みですし
formからsubmitすれば当然パラメータ付きになるので
用途が若干違うのかもしれません
    • good
    • 0
この回答へのお礼

何度もご回答いただき誠にありがとうございます。
仰るようにSEO対策なのかもしれません。

とはいえ、
例えばURLが「/search/12345/67890」で
「/search/」にsearch.phpというものがあったとして、
このsearch.phpが「12345」「67890」を引数(←言葉が正しくないかもしれません)
だと認識できるのでしょうか?

RewriteRuleで
search.php?id1=$1&id2=$2
のようにするなどすればできそうですが、それ以外のやり方で実現できるものなのでしょうか?
ご存知でしたらご教授お願いいたします。

お礼日時:2017/01/17 10:37

apache側でRewriteRuleなど設定されているんじゃないでしょうか

    • good
    • 0
この回答へのお礼

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

RewriteRuleですが、私も疑ったのですが
htaccessはなく、
プログラマーがApatchのconfに記述できる権限がないと
思われますので可能性は低いかと思われます。
(私もconfが見れないので正確な情報ではないのですが)

仰るようにRewriteRuleを使うと、今と同じ動きはできると思うのですが、
個人的には、
index.php?id1=12345&id2=67890
とやった方がわかりやすいと思うのですが、このやり方は何かリスクがあるのでしょうか?

お礼日時:2017/01/16 22:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!