2012-02-28 6 views
-1

自分のサイトでプロフィールページをやりたいプロファイルを識別するためにfacebook.com/1234:私はFacebookやTwitterなどのサイトのようなURLを使用することに気づいたしかしプロファイルページの作成方法:/ 1234? (No "#"と "?id =")

www.mysite.com/#123123 

:今のようなハッシュで識別されます。

私のサイトでこれを行うにはどうすればよいですか?

+0

これは、Apacheのmod_rewriteのようなURL書き換えエンジンで行われているのに役立ちます。書き換えエンジンは正規表現にマッチし、URLの一部(この場合は数字)を '$ _GET'パラメータとしてPHPファイルに渡し、ユーザのブラウザをリダイレクトせずにそれを反映することができます。 –

+0

[これらの多くは](http://stackoverflow.com/search?q=%5B.htaccess%5D+id)はあなたを起動させます –

答えて

0
mod_rewrite

が、あなたのコントローラに応じて、何かのように:

RewriteEngine On 
##Do rewrite if NOT file 
RewriteCond %{REQUEST_FILENAME} !-f 
##Do rewrite if NOT dir/folder 
RewriteCond %{REQUEST_FILENAME} !-d 

##Numeric 
RewriteRule ^([0-9]+)$ index.php?id=$1 [L] 
##Or for AlphaNumeric (any case) 
RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1 [L] 

##Or for Anything after first slash 
RewriteRule ^(.*)$ index.php?route=$1 [L] 
##Note using this method you would need a (Router) controller that splits 
## the request. 
##Eg site.com/id/Af13s passes index.php?route=id/Af13s then with 
## explode('/',$_GET['route']) you can get the action/sub action 

##or have multiple entry's for each section 
RewriteRule ^id/([a-zA-Z0-9]+)$ index.php?id=$1 [L] 
RewriteRule ^page/([a-zA-Z0-9_]+)$ index.php?page=$1 [L] 
RewriteRule ^admin/([a-zA-Z0-9_]+)$ admin.php?route=$1 [L] 

はホープそれは

+0

IDが非数値でも競合することなく動作させるにはどうすればよいですかサブディレクトリはありますか? – lisovaccaro

+0

@ Liso22の回答が更新されました。役に立ったら –

+0

はい。ありがとう – lisovaccaro

0

それは彼らがprofile.phpのようないくつかのスクリプトに/ 1234をリダイレクトするための.htaccessまたは類似を使用していますか?ID = 1234

のmod_rewriteに見て、より良いあなたの質問に答えるために可能性があります。また、thisは、特に「美しいURLを作成する」セクションに役立つかもしれません。

関連する問題