页面重定向(用户友好的URL)

时间:2012-12-20 01:55:16

标签: php .htaccess mod-rewrite redirect get

如何显示动态内容,例如使用网址语法

的个人资料页面
  

mysite.com/users/user1
  mysite.com/users/user2
  mysite.com/users/user3

没有为每个用户提供不同的页面或目录。我希望有一种方法可以在users目录中找到类似index.php文件的内容,并根据url的user1,user2,user3部分显示相应的用户内容。

我知道这很常见,但我不知道该怎么做,或者它会被称为谷歌吗?

1 个答案:

答案 0 :(得分:4)

如果您正在运行Apache,您可能需要查看.htaccess文件的mod_rewrite规则。

在以下示例中,我将指向/users/user*的任何内容重定向到名为users.php的站点根目录中的文件。您注意到([^/\.]+)。这是一个“包罗万象”的注册表,可以让我为我的查询字符串创建一个变量(例如:?id=$1)。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^users/user([^/\.]+) users.php?id=$1 [L]
</IfModule>

然后在我的users.php我可以将变量检索为:

$id = $_GET['id']

这将允许我仅使用1个文件来捕获和处理所有用户URL。

注意:这只是一个例子。它必须建立起来,但它可能是一个很好的起点