我当前的网址如下所示:'http://subdomain.domain.com/vanity/url'
当我尝试使用PHP获取此URL时:
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
var $url
认为:
'http://domain.com/index.php?var1=vanity&var2=url';
我想获取地址栏中的实际网址。这可能吗?
答案 0 :(得分:1)
您正在做的事情应该有效 - REQUEST_URI
密钥应该包含未重写的URI。我猜您遇到的是您正在使用的Apache构建中的错误或奇怪的错误配置。
你最好的选择是print_r($_SERVER)
并查看其中的任何一个键是否包含你所拥有的内容 - 我刚刚在我维护的一个重写的网站上完成了它,以下所有的键都包含了你的信息无论是部分还是整体:
SCRIPT_URL
- 包含REQUEST_URI
应包含的内容
SCRIPT_URI
- 包含http://domain/
SCRIPT_NAME
- 包含REQUEST_URI
应包含的内容
PHP_SELF
- 包含REQUEST_URI
应包含的内容
其中一些对我来说似乎很奇怪它们应该包含它(特别是PHP_SELF
)但我认为这是另一个不使用mod_rewrite的好理由,除非你绝对必须...