PHP获取QUERY_STRING后“/”
我有我的域名,我想从这样的URL得到查询:http://domain.com/querystring
和输出将被:querystring
PHP获取QUERY_STRING后“/”
这是相同的技术bit.ly使用和Facebook的个人资料页面。我必须在我的.htaccess文件中做些什么吗?或者是否有一个正常的PHP命令来做到这一点..我认为这将是某种.htaccess URL重写,但我只知道是否有任何其他选项。
对于Facebook的例子: www.facebook.com/profile.php?id=####
然后使用mod_rewrite的样子www.facebook.com/username
但要获得username
代码:
$_GET['id'];
Facebook已经到id
和usernames
引用在其db表中
'RewriteEngine On RewriteRule ^([a-zA-Z0-9 _-] +)$ user.php?username = $ 1 RewriteRule ^([a-zA-Z0-9 _-] +)/ $ user.php?用户名= $ 1' 这是我的.htaccess代码..我需要把一个点'.'。怎么做?这是否像普通的正则表达式一样工作? – Dimser 2012-07-27 17:03:14
我假设您使用的是Web服务器,如Apache和index.php
是您的控制器。
启用mod_rewrite,然后在根目录(或您的虚拟主机定义)中配置.htaccess
文件。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
然后使用$_SERVER['QUERY_STRING']
检查$_SERVER超全局。
没有mod_rewrite,PHP通常不会被触发只有http://domain.com/querystring – Ron 2012-07-27 14:46:38
@Ron:是的,你说得对。我编辑过。 – 2012-07-27 14:52:37
如果您只是想使用URI的一部分,为您的查询,您可以从$ _ SERVER类似这样的超级全局让整个URI,然后打破它拆开来得到什么您可能需要的部分
$uri = $_SERVER['REQUEST_URI'];
$pieces = explode("/", $uri);
$myQuery = $pieces[1];
请参见['mod_rewrite'](http://httpd.apache.org/docs/current/mod/mod_rewrite.html)。 – 2012-07-27 14:43:20
我不记得我的头,但是可以使用'$ _SERVER'中的一个键。 'print_r($ _ SERVER)'应该告诉你。 – zneak 2012-07-27 14:43:44