私は自分の会社のサイトを構築しています。このサイトは、Facebook やその他のソーシャル サイトのようなもので、ユーザーには公開プロフィール ページがあります。ユーザーごとに特定のページを作成せずにその公開ページを作成する方法に関する情報が見つからないか、どこを探せばよいかわかりません。 Facebook の URL (例: http://www.facebook.com/ANYUSERNAME ) の後にユーザー名を入力すると、プロフィール ページが表示されます。誰かアイデアを教えてください。開発サーバーは IIS 7.5 と PHP を使用する Windows 2008 ですが、運用サーバーは mandriva または apache と php を使用するその他の Linux ディストリビューションになります。事前にみんなに感謝します。
2 に答える
動的 URL は、「mod_rewrite」と呼ばれるプラグインによって、Apache のほとんどの Unix/Linux ベースのシステムで行われます。ただし、Windows を実行しています。IIS には Microsoft による書き換えプラグインがあります。
http://www.iis.net/download/URLRewrite
基本的に、動作は、特定のフォルダーまたはその他のものに対してルールを設定することになります。ページがディスク上に物理的に存在しない場合、または .php で終わっていない場合は、ルールセットを実行します。ルールに一致する場合は、コードページへのクエリ文字列またはその他の変数として実際のページに渡します。存在しない場合は、404 をスローします。
mod_rewrite
( IISの場合)フロント コントローラーパターンが必要になり、実装します (通常は にありindex.php
ます)。
次に、front-controller は URL の最初のセグメント (この例では になりますANYUSERNAME
) をチェックし、そのルートが存在しない場合は、それがユーザー プロファイル ページであると想定できます。次に、ユーザーをその特定のプロファイル ページ (のようなもの/profile/USER
) にリダイレクトするか、直接表示するかを選択できます。