Twitterではユーザーそれぞれのページを
https://twitter.com/********
というように表示させますが、
私の知識ではユーザーそれぞれのページを
url/?id=********
のようにgetメソッドを活用する方法しか思いつきません。
どのようにすれば、twitterのような表示ができるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
質問タイトルが少し変ですね。GETメソッドは使うが、クエリ文字列(?以降のパラメータ)は使わないという意味ですね。
それを使うには、PATH_INFOというものを使います。基本的な使い方は下記の通りです。
http://example.jp/index.php/abc
上記の呼び出しをした場合、/index.phpが呼び出され、$_SERVER['PATH_INFO'] に /abc がセットされます。
これでよければそのまま使えばよいのですが、URL上の index.phpを省きたいというケースもあります。その場合は、mod_rewriteを使います。
下記は、WordPress等で使われるmod_rewriteのルールですが、
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
httpd.conf でmod_rewriteとAllowOverrideを有効にして、上記を .htaccessに記述すると、
で index.phpが呼び出されます。この場合は、$_SERVER['REQUEST_URI'] にパラメータ /abc が格納されます。
投稿2017/04/04 06:01
総合スコア11701
0
ほとんどのwebサイトが、ログイン情報などの保持にsessionを使っています。
これと似たようなものにcookieがありますが、sessionはサーバーサイドで値を保持するのに対し、cookieはクライアントサイドで値を保持します。
そのため、cookieは簡単に書き換えられてしまいます。
getを使った場合、urlに情報が見えてしまっているため、簡単に情報を盗むことができます。
そのため、Twitterなどのサイトではユーザー固有のページには使われておりません。(外部に公開するような、誰でも見れるURLには使っていたりしますが。)
投稿2017/04/04 05:05
総合スコア551
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/04 05:29 編集
0
もしかして、POSTメソッドのことでしょうか?
GETメソッドでページ遷移するとき、おっしゃる通りhttps://..../?id=abcのようにURLに$_GETの情報が表示されますが、POSTメソッドでページ遷移すれば、URLには?以降の文字列は表示されません。
・GETメソッド
html
1<form action="" method="get"> 2... 3</form>
・POSTメソッド
html
1<form action="" method="post"> 2... 3</form>
投稿2017/04/04 06:41
総合スコア312
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ログインした際にidをセッションなどに記録し、getパラメータではなく記録したものから参照するようになっています。
#追記
0. .htaccessの設定などで、どんなURLでアクセスしても一旦index.php(振り分け用スクリプト)へ流れるようにする
0. index.phpはアクセスされたURLを分解して解析する
0. 解析結果を元に、表示したい内容を描画する
こういった手法はリクエスト振り分けと呼ばれます。MVCフレームワークの入り口ともなるもので、多くのWebサービスはMVCフレームワークにより作られています。MVCフレームワークについて調べてみてください。
http://www.objective-php.net/mvc/framework
投稿2017/04/04 05:02
編集2017/04/04 05:57総合スコア9206
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/04/04 05:20
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/04/04 08:21