如果语句基于url

时间:2011-06-03 22:28:57

标签: php

我正在尝试根据我网站的根网址显示div标签,即如果网址是dev.foo.com显示div,否则www.foo.com不会显示等等。我已经出现了用这个

<?php if (substr($_SERVER['REQUEST_URI'], 0, 5) !== 'dev.') {
    echo '<div class="dev-site-stuff">THIS IS THE DEV SITE!!</div>';
}
 ?>

但它没有用,我看不出原因 - 任何想法都非常感激!

3 个答案:

答案 0 :(得分:6)

你应该使用$_SERVER['SERVER_NAME']

如果您有任何其他疑问,只需执行print_r($_SERVER);即可实际查看阵列的组成方式

答案 1 :(得分:1)

除了上面的@ yes123回答,你还将长度为5的子字符串与长度为4的字符串进行比较,因此它永远不会成立。

你可以像这样使用strrpos

 if (strrpos($_SERVER['SERVER_NAME'], 'dev.') > 0) {

希望这有帮助。

答案 2 :(得分:1)

$url = explode('.', $_SERVER['HTTP_HOST'], 2);

/* you might want pretty variable that exactly gets the subdomain.
 * $subdomain = $url[0] != "www" ? $url[0] : "";
 * if($subdomain == "dev") {
 *   // dev site...
 * }else if($subdomain == "") {
 *   // www site...
 * }
 */

if($url[0] == "dev") {
  echo '<div class="dev-site-stuff">THIS IS THE DEV SITE!!</div>';
}
在这种情况下,

substr,strpos等并不总是有效的。这很好吗?

编辑:顺便读一下你的问题的评论。