【问题标题】:Display html content only in home page仅在主页中显示 html 内容
【发布时间】:2014-04-26 17:32:52
【问题描述】:

我正在开发一个网站,我想知道是否可以以通用方式使用PHP 在主页上显示一个 div,但在任何其他页面上都不能。我到目前为止的代码,

<?php
    if host == 'http://domain.com/'; echo {
        This should only be shown on the homepage http://domain.com but not on domain.com/directory or sub.domain.com/ !
    } else {
    };
?>

【问题讨论】:

  • 同一个 php 文件来自多个不同的域?
  • @ExplosionPills 是的,它是头文件,我需要它根据域自动添加和删除 div

标签: php html


【解决方案1】:
<?php
    $match_domains = array('google.com','www.google.com');
    if(in_array($_SERVER['SERVER_NAME'], $match_domains) {
        echo 'show on my domain!';
    }
?>

使用 $_SERVER['SERVER_NAME'] 我们将它与我们想要的域进行比较。 我们使用 in_array 在 $match_domains 中搜索当前域。如果它在数组中,我们会显示我们的文本……其他的,我们会忽略。

<?php
    $domain = str_replace('www.','',$_SERVER['SERVER_NAME']); // Strip out www.
    $match_domains = array('google.com');
    if(in_array($domain, $match_domains) {
        echo 'show on my domain!';
    }
?>

【讨论】:

  • 感谢这有效,但我将如何阻止内容显示在目录中
  • 这是一个绝对的比较,所以除了根域之外它不会起作用。甚至 www.,所以你可以这样做(编辑,片刻)。
  • 是的,我明白这一点,但是当我强制 www 时。在我的服务器上它强制它在我的子域上,例如 www.business.domain.com 和 www.myaccount.domain.com
  • 对不起,我不明白你的问题。此外,如果你愿意,你可以去掉 www。所以你的列表只是主要域。
  • 没关系,我用我的 .htaccess 解决了问题,我只是强制使用非 www 重写域 感谢您的所有帮助
【解决方案2】:

既然你想要主页为什么不检查文件名

if ($_SERVER['SCRIPT_NAME'] == "/index.php") {
    echo "<div>Content</div>";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2015-05-27
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多