重複の可能性:
LAMP構成でバニティURLを作成する
ユーザーが登録したら、選択したユーザー名を使用して、(ユーザーだけでなく)誰でも表示できる一意のプロファイルページを生成する必要があります。「bob」が登録すると、website.com/bobにプロフィールが表示されます。
.htaccessの問題を解決するための同様の質問を見てきましたが、これを行う方法については説明していません。
重複の可能性:
LAMP構成でバニティURLを作成する
ユーザーが登録したら、選択したユーザー名を使用して、(ユーザーだけでなく)誰でも表示できる一意のプロファイルページを生成する必要があります。「bob」が登録すると、website.com/bobにプロフィールが表示されます。
.htaccessの問題を解決するための同様の質問を見てきましたが、これを行う方法については説明していません。
You wouldn't exactly need to generate a unique profile page upon registration. You can simply make a script like profile.php
which takes a parameter user
to dynamically show the profile of a given user by accessing /profile.php?user=bob
. Example:
<?php
$u = $_GET['user'];
echo "<h2>Profile of ".htmlentities($u)."</h2>";
?>
.htaccess comes into play when you want to rewrite the url website.com/user/bob
to point to website.com/profile.php?user=bob
by using the following, for example.
RewriteEngine On
RewriteBase /
RewriteRule ^/user/([0-9a-zA-Z]*)$ /profile.php?user=$1 [NC,QSA,L]
Jimmy Sawczuck は答えを指摘しましたが、ここで説明します。
あなたの場合に達成したいことは、URL のユーザー名を使用してプロファイル ページにアクセスすることです。ユーザーごとに php ファイルを作成するのは面倒で、バグが発生する可能性があります (保守性もひどい)
という引数を使用する profile.php スクリプトを作成できますusername
。だからあなたのリンクは
mysite.com/profile.php?username=bob
しかし、それはあなたが望むURLではありません。そして、保存するために、Web サーバーの Rewrite Mod が存在します (Apache の場合は mod_rewrite、他の Web サーバーの場合は対応するユーティリティを検索します)。
この mod を使用すると、必要なものに一致するように URL を書き換えることができます。
例: webbrowser の website.com/bob は、サーバー用に website.com/profile.php?username=bob に書き換えられます。
つまり、ユーザーはきれいな/小さなURLを持つことができますが、Webサーバーは必要なスクリプトを呼び出すように変更します. だから二人は幸せです。
この書き換えを行うには、書き換えルールを持つモジュールを使用します。Apache を使用する場合は、mod_rewrite を使用して、ルールを Web サイトの構成ファイルまたは .htaccess を必要なディレクトリに配置します。
ルールについては、Jimmy Sawczuck が提供するリンクを確認してください。
よろしく
PHP を使用している場合は、ユーザー情報をデータベースに保存し、fopen('bob.php') を使用してディレクトリにファイルを作成できます。次に、ユーザー情報を表示するために必要な関数を bob.php で呼び出します。
重複する可能性があるため、ユーザー URL をランダム化する必要がある場合があります。
.htaccess がこれを達成できるとは思えません。