如果 URL 包含定义的域名,则显示 HTML,否则显示其他内容


Show HTML if URL contains a defined domain name, else show something else

我正在构建一个可以在不同站点上使用的管理面板。如果 url 包含特定域,我需要显示一些特定的 HTML,如果没有,则需要显示其他内容。

所以,如果URL是这样的 http://(某物).mydomain.com/admin.... 我想展示一些 HTML。

如果网址是这样的 http://anotherdomain.com/admin...我想展示别的东西。

我已经尝试过这个,但不知何故没有让它起作用。我做错了什么?

编辑:错误的代码。请参阅下面的代码...

<?php
  if (substr($_SERVER['REQUEST_URI'], 0, 5) !== '/mydomain.com') {
    echo '<div id="stuff"></div>';
  }
?>

抱歉:发布了错误的 php 代码。我觉得有点太累了...

这是我搞砸的那个:

<?php
    if (substr($_SERVER['SERVER_NAME']) !== 'mydomain.com') {
        echo '<div id="stuff">test</div>';
    }
?>

请尝试以下代码

<?php 
$url_segments = parse_url("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
if (strpos($url_segments['host'],'mydomain.com') !== false) {
    echo 'true';
}else{
    echo 'false';
}
?>

谢谢

尝试使用该代码:

if (preg_match ( string $pattern , string $subject)){}

http://php.net/manual/de/function.preg-match.php

http://php.net/substr

您当前的 substr 显示"如果请求 URI 的前 5 个字符不是/mydomain.com,请打印下面的内容。

您可以尝试通过几种方式正确执行此操作。您可以使用 strpos 并检查请求 URI 中是否出现 mydomain.com,或者使用更复杂的正则表达式来查找类似 (mydomain) 的内容。

$_SERVER['REQUEST_URI'] 更改为 $_SERVER['SERVER_NAME'] 如果它是您的域名 mydomain.com。

此外,substr 返回 5 个字符,您正在与 13 个字符进行比较