1

需要你们的帮助。我的网站中有多个子域。如果他们使用移动设备,我会将所有用户重定向到移动版本。例如我的子域

http://in.example.com
http://uk.example.com
http://cn.example.com

移动检测部分没问题。我想做的是检查子域名并将其替换为 'm'。假设我有以下网址

http://uk.example.com/Gallery/index.php

那么被替换的 URL 应该是这样的

http://m.example.com/Gallery/index.php

如果你能帮助我,我会很高兴。谢谢

4

3 回答 3

3

下面的代码就可以了,检查一下

  $url = 'http://en.example.com';

    $parsedUrl = parse_url($url);

    $host = explode('.', $parsedUrl['host']);

    $subdomain = $host[0];
    echo $subdomain;
于 2013-05-08T07:12:25.310 回答
1

我写了一个函数来做到这一点:

public function overrideSubDomain($subDomain, $url)
{
    $info = parse_url($url);

    $array = explode('.', $info['host']);

    $withoutDomain = (array_key_exists(count($array) - 2,
            $array) ? $array[count($array) - 2] : '') . '.' . $array[count($array) - 1];

    $newSubDomain = $info['scheme'] . '://' . $subDomain . '.' . $withoutDomain;

    return $newSubDomain;
}
于 2016-12-29T18:40:47.267 回答
0

试试这个代码:

preg_replace('/\w+(?=\.\w+\.\w+)/i', 'm', 'http://uk.example.com/Gallery/index.php');

结果

于 2019-07-16T11:31:05.297 回答