PHP $ _server名称和uri

时间:2012-07-03 18:10:30

标签: php

您好我正在尝试获取一段html仅在主页上显示http://www.domain.com/ ...我在下面编写了代码,但无论页面是什么,它都无法显示我错过了什么

<?php
$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if ($hweb == 'http://www.domain.com/'):
?>          
                    <div style="margin:0 auto;">
                        <div style="float:left">



<?php endif; ?>

4 个答案:

答案 0 :(得分:1)

首先 - 请更改

$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

$hweb = 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

$ hweb可能会在之前的某个地方初始化。

第二

只要您请求'http://www.domain.com/somename.php',您的if条件将永远不会被执行。 REQUEST_URI将始终保留'/sameame.php',除非您使用某些网址重写。

第三: 确保所有电话都转到“http://www.domain.com”而不是“http://domain.com”。子域配置有时非常复杂。

答案 1 :(得分:0)

冒着再次犯错的风险..

为什么不在包含标题

之前初始化主文件中的变量
<?php 
$mainfile = true;
?>

然后在标题

<?php

if ($mainfile===true)
....

这样,主文件可以被调用任何东西并放在任何地方。

答案 2 :(得分:0)

解决方案1: 如果上面的代码写在“http://www.domain.com/index.php”文件中,那么它可能正常工作。 解决方案2: 否则请确保$ hewb在此代码之前设置为空值b4,以便“。=”不会添加额外值b4'http ...'。

现在

$ hweb ='';

echo $ hweb。='http://'。$_SERVER ['HTTP_HOST']。$ _ SERVER ['PHP_SELF'];

答案 3 :(得分:-3)

这是因为HTML在php文件中是内联的,但在PHP标签之外。您可以简单地在if。

中回显HTML
if ($hweb == 'http://www.domain.com/')
{
    echo '<div style="margin:0 auto;">';
    echo '<div style="float:left">';
}

或者如果你有很多HTML,你就可以这样做

<?php 
    ob_start();
?>

<html>
<body>
<p>This HTML only be echoed </p>
</body>
</html>

<?php   
    $hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
    if ($hweb == 'http://www.domain.com/'):
    {
        ob_end_flush();
    }
    else
    {
        ob_end_clean(); // Probably not needed
    }

?>