【问题标题】:Rewrite profile URL with username用用户名重写配置文件 URL
【发布时间】:2016-01-31 15:27:02
【问题描述】:

在这个带有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=$1 

【问题讨论】:

  • 它需要在您尝试获取用户数据时完成。
  • @hjpotter92 谢谢我太笨了,你可以回答这个问题:)

标签: php .htaccess mod-rewrite friendly-url


【解决方案1】:

我想重定向到登录页面或echo 消息用户不 存在,但不知道怎么做。

由于动作取决于用户不存在的因素;您需要尝试为提供的$username 获取数据后执行重定向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多