Php .htaccess重定向和重写

Php .htaccess重定向和重写,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正在尝试重定向我的用户配置文件 该代码对所有“变量”都有效,甚至对不存在的“概要文件”也有效,例如localhost/test/flfladlfadl。显示的页面看起来几乎与现有的“配置文件”相同,但缺少功能。目标是将不存在的配置文件重定向到错误站点(“flfladlfadl”在数据库中不存在) My.htaccess代码: RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?pageprofile=$1 这不是htacces

我正在尝试重定向我的用户配置文件

该代码对所有“变量”都有效,甚至对不存在的“概要文件”也有效,例如localhost/test/flfladlfadl。显示的页面看起来几乎与现有的“配置文件”相同,但缺少功能。目标是将不存在的配置文件重定向到错误站点(“flfladlfadl”在数据库中不存在)

My.htaccess代码:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?pageprofile=$1 

这不是htaccess,因为不是htaccess检查数据库中是否存在该项

假设您将结果行分配给$user,您可以执行以下操作:

if(!$user)
{
  // do something else, maybe a 404 not found
}

我试图重定向URL,使它们更容易记住。为什么不存在的链接(不存在的配置文件)没有错误?因为配置文件是否存在取决于数据库。Apache本身并不是查询mysql数据库来确定用户是否存在,而是您的php脚本是否存在。您的php脚本可以相应地生成404页面,甚至发送回404头,例如:header(“HTTP/1.0 404未找到”);