cakephp 获取域名(无协议的基本URL)

w8f9ii69  于 2023-10-20  发布在  PHP
关注(0)|答案(3)|浏览(142)

如何获得App域名?(我的意思是没有协议http://https://的基本URL)
因此,如果应用程序安装在' http://sub.example.com/app ',我想得到'sub.example.com'.

jjhzyzn0

jjhzyzn01#

有一个PHP全局**$_SERVER `HTTP_HOST ']**-这将返回没有协议的域,但不会给予子目录,例如。如果您的应用程序位于www.domain.com/myapp/app。
假设你指的是一个CakePHP应用程序(在问题上给出了标签),你可以使用以下常量,直到版本2.4:
FULL_BASE_URL
在2.4版中,您可以用途:
Router::fullbaseUrl()
这将返回带有http://或https://的基本URL。然后你可以做一个regex替换来删除那部分。
试试看:

function replace_http($url) {
    $pattern = "https{0,1}:\/{2}";
    return preg_replace($pattern, "", $url);
}

$baseUrl = replace_http(Router::fullBaseUrl());
qkf9rpyu

qkf9rpyu2#

我在我的配置文件夹中使用此文件夹/bootstrap. php来获取URL应用程序域和文件夹

$_SERVER['HTTP_HOST'].dirname(dirname(dirname($_SERVER['PHP_SELF'])));
c7rzv4ha

c7rzv4ha3#

parse_url(Router::fullBaseUrl(), PHP_URL_HOST)

相关问题