我正在构建一个可以在不同站点上使用的管理面板。如果 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 个字符进行比较