用户 ID 使用 htaccess 自动更改为用户名?
user id change automatically to username using htaccess?
你好我正在使用 htaccess 将 profile.php?u=<username>
更改为 mywebsite/username 当我在我的链接中使用它时它工作得很好但我希望它在有人写 profile.php?id=<uid>
[=13 时自动更改=]
例如在 facebook 中当你写 "www.facebook.com/profile.php?id=4" 它会变成 "www.facebook.com/zuck"
我的 htaccess 代码
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?u=
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?u=
我可以添加什么?请帮助。
没有,因为您肯定没有 Apache 可用的列表,其中包含您的用户 ID 到其各自用户名的映射。 Facebook 通过他们的 PHP 应用程序执行重定向,方法是在他们的数据库中查询 ID 并将您重定向到相应的新 URL,其中包含从他们的数据库中检索到的用户名。这样的 PHP 脚本可能如下所示:
<?php
$options = array("options" => array("min_range" => 1));
if (($id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT, $options)) {
$user = new User($id);
header("Location http://example.com/{$user->name}", true, 303);
exit();
}
你好我正在使用 htaccess 将 profile.php?u=<username>
更改为 mywebsite/username 当我在我的链接中使用它时它工作得很好但我希望它在有人写 profile.php?id=<uid>
[=13 时自动更改=]
例如在 facebook 中当你写 "www.facebook.com/profile.php?id=4" 它会变成 "www.facebook.com/zuck"
我的 htaccess 代码
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?u=
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?u=
我可以添加什么?请帮助。
没有,因为您肯定没有 Apache 可用的列表,其中包含您的用户 ID 到其各自用户名的映射。 Facebook 通过他们的 PHP 应用程序执行重定向,方法是在他们的数据库中查询 ID 并将您重定向到相应的新 URL,其中包含从他们的数据库中检索到的用户名。这样的 PHP 脚本可能如下所示:
<?php
$options = array("options" => array("min_range" => 1));
if (($id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT, $options)) {
$user = new User($id);
header("Location http://example.com/{$user->name}", true, 303);
exit();
}