用用户名重写配置文件 URL
Rewrite profile URL with username
在这段带有 mod_rewrite
的代码中,我可以通过在域后输入他的用户名来访问任何用户的个人资料,例如 example。com/john 这将带我们约翰的个人资料。这很好用,但是如果我输入任何不是我数据库中现有用户的用户名的名称,例如 example.com/notauser 我仍然会被重定向到一个空的个人资料页面,尽管它没有个人资料照片或其他信息,但所有其他按钮和链接(如关注者、朋友等)仍然可用。在这种情况下,我想重定向到登录页面或 echo
消息用户不存在,但不知道该怎么做。
Profile.php
<?php
if(!empty($_GET['username'])) {
$username = $_GET['username'];
}
else if(!empty($_SESSION['username'])) {
$username = $_SESSION['username'];
}
else {
header("Location: login.php");
die();
}
?>
.htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=
I want to redirected to login page or echo
message user does not
exist, but can't figure out how to do that.
由于操作取决于用户不存在的因素;在您尝试为所提供的 $username
.
获取数据后, 您需要执行重定向
在这段带有 mod_rewrite
的代码中,我可以通过在域后输入他的用户名来访问任何用户的个人资料,例如 example。com/john 这将带我们约翰的个人资料。这很好用,但是如果我输入任何不是我数据库中现有用户的用户名的名称,例如 example.com/notauser 我仍然会被重定向到一个空的个人资料页面,尽管它没有个人资料照片或其他信息,但所有其他按钮和链接(如关注者、朋友等)仍然可用。在这种情况下,我想重定向到登录页面或 echo
消息用户不存在,但不知道该怎么做。
Profile.php
<?php
if(!empty($_GET['username'])) {
$username = $_GET['username'];
}
else if(!empty($_SESSION['username'])) {
$username = $_SESSION['username'];
}
else {
header("Location: login.php");
die();
}
?>
.htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=
I want to redirected to login page or
echo
message user does not exist, but can't figure out how to do that.
由于操作取决于用户不存在的因素;在您尝试为所提供的 $username
.