私よりも経験豊富な人が、リンクがどのように機能するかを説明できますか(たとえば):
http://www.facebook.com/zuck
これと同じだと思います
http://www.facebook.com/profile.php?id=4
「zuck」はGET型の文字列だと思いますが、どうすれば同じことができるのかわかりません。
どうもありがとうございます
私よりも経験豊富な人が、リンクがどのように機能するかを説明できますか(たとえば):
http://www.facebook.com/zuck
これと同じだと思います
http://www.facebook.com/profile.php?id=4
「zuck」はGET型の文字列だと思いますが、どうすれば同じことができるのかわかりません。
どうもありがとうございます
.htaccessファイル:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /profile.php?id=$1 [L]
Apacheのmod_rewriteモジュールを使用して簡単に行うことができます。これは、着信要求に提供するコンテンツを指定できるメカニズムです。たとえば、.htaccessファイルで次のようなルールを作成できます。
RewriteRule (.*) index.php?req=$1
次に、すべての着信リクエストを中央のindex.phpにリダイレクトします。ここで、リクエストされたURIを解析でき(この例では、req変数は値 "zuck"を保持します)、その情報に基づいてコンテンツを提供できます(例:ユーザープロファイルを含むデータベースで「zuck」を検索し、「zuck」値に関連付けられたIDを取得して、ユーザー#24のプロファイルを表示することができます。
少なくともそれが基本的な考え方です。これは通常、「URLを美しくする」、「わかりやすいURL」、「SEO URL」と呼ばれ、これらの用語を検索すると、たくさんのリソースが見つかります。
実際、私はそれについてよくわかりませんが、私がそれを見ると、Facebookはおそらく両方の方法を使用してプロファイルにアクセスします
.htaccessをすばやく実行して、すべてのリクエストが同じページに届くようにします。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /profile.php?input=$1 [L]
これで、profile.phpで、次のような簡単なチェックを行う必要があります。
$input = $_GET['input'];
if(is_string($input)) {
// then retrieve profile id, based on the string
}
//now either way you have an unique identifier at last
//
//
// use your logic further more