-1

重複の可能性:
LAMP構成でバニティURLを作成する

ユーザーが登録したら、選択したユーザー名を使用して、(ユーザーだけでなく)誰でも表示できる一意のプロファイルページを生成する必要があります。「bob」が登録すると、website.com/bobにプロフィールが表示されます。

.htaccessの問題を解決するための同様の質問を見てきましたが、これを行う方法については説明していません。

4

3 に答える 3

1

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]
于 2012-04-22T16:25:48.607 に答える
0

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 が提供するリンクを確認してください。

よろしく

于 2012-04-22T16:37:05.683 に答える
-4

PHP を使用している場合は、ユーザー情報をデータベースに保存し、fopen('bob.php') を使用してディレクトリにファイルを作成できます。次に、ユーザー情報を表示するために必要な関数を bob.php で呼び出します。

重複する可能性があるため、ユーザー URL をランダム化する必要がある場合があります。

.htaccess がこれを達成できるとは思えません。

于 2012-04-22T16:21:25.990 に答える