StackOverflowの周りにたくさんの答えがあることがわかっている質問を公開しようとしています。しかし、私は、何らかの理由で、クリックするための情報を取得できないようです。質問の最後に出典を投稿します。
user_id
問題は、URLからをプルしてmod_rewriteでユーザー名を表示するにはどうすればよいかということです。
これの代わりに:
domain/user/index.php?user_id=1
私はこれを手に入れます:
domain/username
.htaccessファイルのニーズに合わせて他のSO回答を次のようにカスタマイズしました。
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^user/([^/]+)$ index.php?user_id=$1
</IfModule>
ユーザーページのif
上部にあるステートメントは次のようになります。
if (isset($_GET['user_id']) || isset($_GET['username']) && queryUserId($user_id)) {
// Render Page Content
} else {
header('Location: sign_up.php');
}
そして私のqueryUsername
関数は次のようになります:
function queryUsername($username) {
$conn = dbConnect('read');
$sql = "SELECT * FROM users WHERE user_id = '".$username."'";
$result = $conn->query($sql) or die(mysqli_error($conn));
$row = $result->fetch_assoc();
return $row['username'];
$username = $row['username'];
}
ユーザーに一意のURLを正常に実装し、URLに別のuser_idを追加するときにアカウントプロファイルにうまくアクセスしているので、可変文字列やフォルダー構造の代わりにユーザー名をURLに書き込むために何が欠けていますか?
乾杯!
その他のSOの質問:
modrewriteを使用してユーザー名変数でURLを変更する
AdditionalBytesの記事