http://example.com/user/meという URLがあるとします。ここで、 me はユーザー名です。ユーザーがアドレス バーに URL を入力したときに、ユーザーの詳細を明らかにしたいと考えています。http://example.com/user.php?user=meなどの URL は必要ありません
LAMPに取り組んで、助けていただければ幸いです
http://example.com/user/meという URLがあるとします。ここで、 me はユーザー名です。ユーザーがアドレス バーに URL を入力したときに、ユーザーの詳細を明らかにしたいと考えています。http://example.com/user.php?user=meなどの URL は必要ありません
LAMPに取り組んで、助けていただければ幸いです
これを行う 1 つの方法は、というapache のモジュールmod_rewrite
を使用することです。/user/([a-z]+)
次に、指すように URL を書き換えることができます。/user.php?user=$1
詳細については、ドキュメントを検索しmod_rewrite
てください。
最も簡単な方法は次のとおりです ( .htaccess
、サーバー構成、または vhosts 構成)。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
これにより、ファイル、ディレクトリ、またはシンボリック リンクに一致しないすべてのリクエストがindex.php
. そこで、リクエスト URI を調べて、何をすべきかを判断できます。実際には、URL を分解してどのようなアクションを実行すべきかを判断する方法を知っているある種のディスパッチャが必要になります。実際、これにより MVC が実装される可能性がありますが、これは必須ではありません。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?u=$1