我在一个社交网站上工作。我想做的事情是让用户的用户名出现在我的网站名称之后……例如 example.com/myusername。我知道我可以使用 $_GET 变量来做一些事情,它看起来像 example.com/?u=myusername,但是我们认为在域之后只使用用户名会看起来更干净,并且用户更容易导航。
提前致谢,
JS
我在一个社交网站上工作。我想做的事情是让用户的用户名出现在我的网站名称之后……例如 example.com/myusername。我知道我可以使用 $_GET 变量来做一些事情,它看起来像 example.com/?u=myusername,但是我们认为在域之后只使用用户名会看起来更干净,并且用户更容易导航。
提前致谢,
JS
您可以设置重写规则以将所有不存在的请求定向到您的index.php
(或实际上您想要使用的任何脚本)。然后只需检查$_SERVER['REQUEST_URI']
并拉出用户名。
这是一组基本的重写规则(对于 apache):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
在你的情况下:
$requestParts = explode('/', $_SERVER['REQUEST_URI'];
$username = $requestParts[0];
这将允许您也使用: example.com/username/posts/newest
,并拉出各种“部分”。
如果您使用的是 apache,请查找 mod_rewrite。
如果您使用的是 IIS,请阅读此处:mod_rewrite 等效于 IIS 7.0。
使用其中一个来解析调用 URL 并为您的页面构建变量。