我想用PHP获取“home”网址。 不当前网址。
我的网站存在于本地和实时测试服务器上。 URL被打印为javascript变量,需要在两个地方(实时和本地)工作。
直播“主页”网址为http://pipeup.pagodabox.com
,本地主页为http://192.168.0.10:8888/pipeup
。
因此,如果主页为http://192.168.0.10:8888/pipeup/
,如果我在任何子页面上,例如http://192.168.0.10:8888/pipeup/page.php
或http://192.168.0.10:8888/pipeup/about/our-team.php
,我希望变量返回"http://192.168.0.10:8888/pipeup/"
或"http://pipeup.pagodabox.com"
取决于我是在现场观看还是在本地观看。
现在我正在使用:
<?php echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']; ?>
但是当我在子页面上时,这不起作用。
如何使用PHP获取主页URL?我希望该解决方案也能正常使用本地主机服务器或本地IP地址。
答案 0 :(得分:1)
我在我的应用程序中使用了以下代码,我希望它也可以帮助你。
注意:如果您只想回家,为什么不使用http://example.com?下面的代码为您提供了当前的URL
/*
http://www.webcheatsheet.com/PHP/get_current_page_url.php
PHP: How to Get the Current Page URL
Print Bookmark and Share
Sometimes, you might want to get the current page URL that is shown in the browser URL window. For example if you want to let your visitors submit a blog post to Digg you need to get that same exact URL. There are plenty of other reasons as well. Here is how you can do that.
Add the following code to a page:
*/
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
//return preg_replace("/\.php.*/", ".php", $pageURL);
$_SESSION['thisurl'] = $pageURL;
return $pageURL;
}
答案 1 :(得分:1)
$directory = "/";
function url($directory = null) {
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off") ? "https" : "http";
return $protocol . "://" . $_SERVER['HTTP_HOST'] . $directory;
}
define("BASE_URL", url($directory));
我目前在MVC设计应用程序中使用我的index.php中的上述内容。它允许您将目录设置为您想要的任何内容(如果在第一个文件中,则为主目录的“/”)。然后我只是从应用程序中的任何后续文件中调用BASE_URL。不知道它是否会对你有所帮助,但还没有让我失望!