gpt4 book ai didi

php - 自定义网址 - 给每个用户一个网址

转载 作者:行者123 更新时间:2023-12-05 01:47:56 27 4
gpt4 key购买 nike

我正在建立一个网站,我想自定义用户的个人资料,以便他们的个人资料网址共享他们的名字。例如,网站域为 www.example.com,用户的 url 为 www.example.com/username。

我假设这是一个惯例,因为我在整个网络上都看到了这一点。这是通过为每个用户提供自己的目录来完成的吗?这有多费力?

最佳答案

我真的不能为这样的事情证明使用 htaccess 是合理的。我只使用 htaccess 通过一个 php 文件(我的根 index.php)路由所有内容,并让 php 解决如何处理 url。例如,您可以这样做:

$uri = trim($_SERVER['REQUEST_URI'], '/');
$pieces = explode('/', $uri);
$username = $pieces[0];

然后使用 $username 做一些事情。

我解析和使用 url 的方式比这复杂一点,但它与您的问题无关。只要确保您所做的一切都能够考虑到任何可能的查询字符串等。

mod-rewrite 对性能来说不是很好,所以我不会滥用它。

根据您的评论进行了更新。

这里只是对我的原始代码示例的轻微扩展:

//.htaccess - route all requests through index.php
RewriteCond %{REQUEST_URI} !\.(png|jpe?g|gif|css|js|html)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [L]

这是您可以在 index.php 中执行的操作的示例:

$pieces = preg_split('-/-', $_SERVER['REQUEST_URI'], NULL, PREG_SPLIT_NO_EMPTY);
$username = $pieces[0];

include "users/{$username}.php";

现在您可以访问 mysite.com/myUserNameHere,请求转到 index.php,它会解析用户名并包含该用户的文件。

这就像您要求的那样处理路由。我说我的路由比较复杂,但是我的使用要复杂很多,所以不相关。我只是警告说,我的代码没有考虑附加查询字符串的 url,例如“mysite.com/someUser/?foo=bar”。在没有查询字符串的情况下解析 url 是一个简单的过程,您应该能够处理它。如果您在解析 url 时需要进一步的帮助,请发帖询问。

关于php - 自定义网址 - 给每个用户一个网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com