Php URI中怎么会有用户目录?

Php URI中怎么会有用户目录?,php,get,uri,Php,Get,Uri,抱歉,如果这是重复,我真的不知道该搜索什么 URI中怎么可能有一个用户目录,而不为每个用户创建一个文件(这肯定是低效的)?或者这就是实际发生的情况 例如,youtube上有“youtube.com/user/[username]”,它会将您带到特定的个人资料。它似乎类似于GET请求方法(例如“?Profile=[username]”)。这是通过PHP/.htaccess实现的吗?如果是这样的话,请告诉我如何通过PHP/.htacess实现,供我自己使用。如果没有,那么我仍然想知道它是如何做到的理

抱歉,如果这是重复,我真的不知道该搜索什么

URI中怎么可能有一个用户目录,而不为每个用户创建一个文件(这肯定是低效的)?或者这就是实际发生的情况

例如,youtube上有“youtube.com/user/[username]”,它会将您带到特定的个人资料。它似乎类似于GET请求方法(例如“?Profile=[username]”)。这是通过PHP/.htaccess实现的吗?如果是这样的话,请告诉我如何通过PHP/.htacess实现,供我自己使用。如果没有,那么我仍然想知道它是如何做到的理论

非常感谢! Jon

您可以使用apache,即:

在网站的根目录上创建一个
.htaccess
文件,其中包含以下内容:

RewriteEngine on
RewriteRule ^user/(.*)$ /user.php?user=$1 [NC]
上面的命令会将任何请求重定向到
user.php
。要获取user.php上的值,可以使用:

<?php
if(!EMPTY($_GET['user'])){
  $username = $_GET['user'];
  //janedoe 
}
?>


现在,您可以使用
$username
的值来查询数据库以获取特定的用户详细信息。

您应该结合使用的web服务器类型查找
url重写。这里有很多关于这方面的信息。哦,好的!
$1
表示什么?
$1
在本例中的值为
janedoe
。基本上,它将具有
/user/
之后的价值,这不是因为它在逻辑上很重要,而是它必须是
$1
?有什么事吗?例如,
$somelongname
它需要是$1、$2、$3等等。。根据参数的数量,例如,要获取所需的username和city的值,
RewriteRule^user/(.*)/(.*)$/user.php?user=$1&city=$2[NC]
No,URL不会更改,但Apache会在后台将URL值(username、city等)发送到
user.php
文件,只需回显username的值即可验证这一点。