我正在社交网站上工作。我想做的事情是让用户的用户名来自我的网站名称...例如example.com/myusername。我知道我可以使用$ _GET变量做一些事情,它看起来像是example.com/?u=myusername,但我们认为在域之后只有用户名看起来更干净,用户更容易导航。
提前致谢,
JS
答案 0 :(得分:2)
您可以设置重写规则,将所有不存在的请求定向到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
,并提取各种“部分”。
答案 1 :(得分:1)
如果您使用的是apache,那么请查找mod_rewrite 如果您使用的是IIS,请在此处阅读:mod_rewrite equivalent for IIS 7.0。
使用其中一个来解析调用URL并为您的页面构建变量。