URI中怎么会有用户目录呢?
How can there be a user directory in the URI?
抱歉,如果这是重复的,我真的不知道要搜索什么。
如果不为每个用户创建一个文件(这肯定是低效的),URI 中怎么会有一个用户目录?或者这就是实际发生的事情?
例如,youtube 有 "youtube.com/user/[username]",它会将您带到该特定的个人资料。它似乎类似于 GET 请求方法(例如“?Profile=[username]”)。这是通过 PHP/.htaccess 完成的吗?如果是这样,请告诉我如何通过 PHP/.htacess 为我自己使用。如果没有,那么我还是想知道它是如何完成的理论。
非常感谢!
乔恩
您可以使用 apache mod_rewrite,即:
在您网站的根目录中创建一个 .htaccess
文件,内容如下:
RewriteEngine on
RewriteRule ^user/(.*)$ /user.php?user= [NC]
上面的代码会将任何对 http://yoursite.com/user/janedoe 的请求重定向到 user.php
。要获取 user.php 上的值,您可以使用:
<?php
if(!EMPTY($_GET['user'])){
$username = $_GET['user'];
//janedoe
}
?>
现在,您可以使用 $username
的值来查询数据库以获取特定用户的详细信息。
抱歉,如果这是重复的,我真的不知道要搜索什么。
如果不为每个用户创建一个文件(这肯定是低效的),URI 中怎么会有一个用户目录?或者这就是实际发生的事情?
例如,youtube 有 "youtube.com/user/[username]",它会将您带到该特定的个人资料。它似乎类似于 GET 请求方法(例如“?Profile=[username]”)。这是通过 PHP/.htaccess 完成的吗?如果是这样,请告诉我如何通过 PHP/.htacess 为我自己使用。如果没有,那么我还是想知道它是如何完成的理论。
非常感谢! 乔恩
您可以使用 apache mod_rewrite,即:
在您网站的根目录中创建一个 .htaccess
文件,内容如下:
RewriteEngine on
RewriteRule ^user/(.*)$ /user.php?user= [NC]
上面的代码会将任何对 http://yoursite.com/user/janedoe 的请求重定向到 user.php
。要获取 user.php 上的值,您可以使用:
<?php
if(!EMPTY($_GET['user'])){
$username = $_GET['user'];
//janedoe
}
?>
现在,您可以使用 $username
的值来查询数据库以获取特定用户的详细信息。