我无法获得完整的 url 路径 [重复]
Posted
技术标签:
【中文标题】我无法获得完整的 url 路径 [重复]【英文标题】:I can't get full url path [duplicate] 【发布时间】:2014-07-22 00:01:41 【问题描述】:我有两个按钮可以在我的网站中更改我的语言.. 我正在使用
获取完整的网址$myurl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
还有我的两个按钮:
echo '<a href="'.$myurl.'?lang=en"><img src="http://www.example.com/site/flags/en.png" name="English" title="English" border="0" ></a>';
echo '<a href="'.$myurl.'?lang=de"><img src="http://www.example.com/site/flags/de.png" name="German" title="German" border="0" ></a>';
到目前为止,它工作得很好......所以如果按下第一个按钮,我的网址(在我的网址栏中)将是
http://www.example.com/site/?lang=en
现在如果我回显这个"http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
我收到了http://www.example.com/site/index.php
,在我的网址栏中我可以看到
http://www.example.com/site/?lang=en
有人知道为什么我不能“抓住” ?lang=en 吗?
我也尝试了下面的代码,但没有运气......
if ($string == "http://www.example.com/site/index.php" || $string == "http://www.example.com/site/" || $string == "http://www.example.com/site/?lang=en" || $string == "http://www.example.com/site/index.php?lang=en")
echo "ENGLISH";
else
echo "DE";
【问题讨论】:
听说过$_SERVER['PHP_SELF']
吗?只需执行echo "<a href='$_SERVER['PHP_SELF']?lang=en'><img...."
它不会为您提供包含主机名的绝对路径,但它会起作用。
请先搜索。昨天问了完全相同的问题:***.com/questions/23973574/get-full-website-url
使用 "$_SERVER['QUERY_STRING']" 获取参数!
返回“/site/index.php”
我检查了这个点赞,但对我不起作用...我的网站是 Wordpress.. 需要我在上面编辑任何内容吗?所有这些返回example.com/site 即使在我的网址栏中也是example.com/site/?lang=en
【参考方案1】:
所以你想从 url 参数中读出lang
?
if (!isset($_GET['lang']) || $_GET['lang'] == 'en')
echo "ENGLISH";
else
echo "DE";
如果您只想获取查询字符串,在链接中使用,请使用:
echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY_STRING'];
或者在没有查询字符串时删除?
:
echo $_SERVER['PHP_SELF'] . ($_SERVER['QUERY_STRING']!=''?'?':'') . $_SERVER['QUERY_STRING'];
【讨论】:
纠正我的朋友...太好了...缺少 $_SERVER['QUERY_STRING']以上是关于我无法获得完整的 url 路径 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
无法在 php 中检查 file_exist 的外部 url [重复]