所以我的index.php可以是这样的:
<?php
$restOfURL = ''; //idk how to get this
print $restOfURL; //this should print 'FOO', 'VAR3', or any string after the domain.
?>
答案 0 :(得分:4)
你想用,
<?php
$restOfURL = $_SERVER['REQUEST_URI'];
// If you want to remove the slash at the beginning you can use ltrim()
$restOfURL = ltrim($restOfURL, "/");
?>
您可以在PHP documentation中找到更多预定义的服务器变量。
<强>更新强>
根据您对该问题的评论,我猜您正在使用类似mod_rewrite的内容来重写FOO等,并将所有内容路由到一个文件(index.php)。在这种情况下,我希望URL的其余部分已经传递给index.php文件。但是,如果没有,您可以使用mod_rewrite将其余的URL作为GET变量传递,然后在index.php文件中使用该GET变量。
因此,如果您启用mod_rewrite,然后将此类内容添加到.htaccess
文件中,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
然后,您可以在$_GET['url']
变量的index.php文件中使用其余的URL。
答案 1 :(得分:1)
$var = ltrim( $_SERVER['REQUEST_URI'], '/' )
答案 2 :(得分:1)
正如大家所指出的那样,阅读$_SERVER['REQUEST_URI']
可以告诉你URL的样子,但除非你有办法指出{{1}的请求,否则它不会按你想要的方式工作。 }和me.com/VALUE1
到将进行处理的脚本。 (否则您的服务器将返回404错误,除非您有所需的每个值的脚本,在这种情况下脚本已经知道值...)
假设您使用的是apache,则需要使用mod_rewrite。您必须安装并启用该模块,然后将一些directives添加到.htaccess,httpd.conf或虚拟主机配置中。这样,您就可以在me.com/VALUE2
内部请求me.com/XXX
地图,这样您就可以从me.com/index.php?var=XXX
中读取值。
答案 3 :(得分:1)
通过查看示例,我认为您正在寻找apache mod_rewrite。 您可以通过htaccess文件应用RewriteRule,例如:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([\w]+)$ /checkin.php?string=$1 [L]
例如,此url http://foo.com/aka2将由checkin.php脚本处理,并将“aka2”作为$ _GET ['string']传递。
毫无疑问,该网址仍会在浏览器中显示为http://foo.com/aka2,但服务器实际上会处理http://foo.com/checkin.php?string=aka
答案 4 :(得分:0)
$_SERVER['REQUEST_URI']
答案 5 :(得分:0)
为什么要烦扰所有花哨的mod_rewrite / query_string业务?已有$_SERVER['PATH_INFO']
可用于此类数据。