0

我想用 PHP 获取“主页”网址。不是当前的 URL。

我的网站存在于本地和实时测试服务器上。URL 被打印为 javascript 变量,需要在两个地方(实时和本地)工作。

实时“家” URL 是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.phphttp://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?我希望该解决方案也能与 localhost 服务器或本地 IP 地址一起正常工作。

4

2 回答 2

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。不知道它是否会帮助你,但还没有让我失望!

于 2013-07-26T05:37:46.893 回答
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;
}
于 2013-07-26T00:03:05.483 回答