0

我的网页网址是http://example.com/blog/

当我回显时,它显示正确的结果为博客。

echo $_SERVER['REQUEST_URI']

>>blog

但是,当我在 if 条件下使用时

<?php if($_SERVER['REQUEST_URI']== 'blog') echo 'class="Margincls"';?>

它不返回任何东西,也尝试使用 basename 和 strtolower

4

6 回答 6

1

如果你的网址是http://example.com/blog/$_SERVER['REQUEST_URI']应该是/blog/。我检查了我的环境 - Apache,PHP 5.6。

参考: http: //php.net/manual/en/reserved.variables.server.php

于 2018-10-30T04:23:45.643 回答
0

这应该工作

<?php if($_SERVER['REQUEST_URI']== '/blog/') echo 'class="Margincls"';?>
于 2019-04-02T09:55:09.723 回答
0

您使用了错误的引文。复制并粘贴这个:

<?php if($_SERVER['REQUEST_URI']== 'blog') echo 'class="Margincls"';?>
于 2018-10-30T04:15:02.323 回答
0
<?php if($_SERVER['REQUEST_URI']== "blog") echo 'class="Margincls"';?>

添加双引号解决了这个问题。

于 2018-11-03T06:42:02.660 回答
0

我认为您的网站是实时的。如果您仅使用 $_SERVER['REQUEST_URI'] 它将仅在本地主机中工作。

你可以试试这个。

  if (strpos($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], '/blog/') == true){
         echo "Hello world";
    }else{
        echo "Hello WOrld 2";
    }
于 2020-10-14T08:49:18.407 回答
0

$_SERVER['REQUEST_URI'] 也返回第一个正斜杠,所以你需要在相等时检查这个。

<?php if($_SERVER['REQUEST_URI']== '/blog') echo 'class="Margincls"';?>
于 2018-10-30T04:24:08.750 回答