PHP : IF Domain equals EXACTLY [x] then [actions] but not subdirectories/files

标签 php equals if-statement

我正在尝试使用 PHP 执行代码,但前提是网站入口点的 URL 完全:http://mywebsite.com .因此,仅在该 URL 上特别明确,之后没有任何内容。 在尝试多个 PHP IF ELSE 语句尝试获得它后,我感到很困惑,我觉得非常接近。

<?php $host = $_SERVER['HTTP_HOST']; if($host == "www.mywebsite.com" or $host == "mywebsite.com") { ?> MYHTML1SHOWS <?php } else { ?> MYHTML2SHOWS <?php } ?>

当大多数访问者访问 mywebsite.com 时,这让我成功出现在域中,但继续处理所有后续子文件/页面/目录。这是 100% 不想要的。

所以我想到了像 ELSEIF 这样的解决方法来显示 MYHTML2 以定位我的所有页面,因为它们很容易地都在国家/地区分配的目录中:/au/、/asia/、/nz/、/uk/等。

<?php } elseif (stripos($_SERVER['REQUEST_URI'],'/au/') !== false) { ?> HTML3 <?php } ?>

这没有用,但值得一试(在我以前做过的网站中,它可以使用自己的 IF 语句,但我认为它与第一个 IF 语句冲突,后者在 PHP 中具有更高的优先级)。感谢任何帮助的人,这让我很困惑,但会很有用。网上没有类似的问题,只能这样显示代码。

(背景:我正在实现仅在 mywebsite.com 的入口点显示的“国家/地区选择器”。我已经在各自的子目录中设置了每个国家/地区,因此没有显示国家/地区的目的如果客户直接前往这些地址之一,则为他们选择器)。

最佳答案

您可能正在使用 Apache 的 mod_rewrite 做一些魔术……如果没有,那可能是开始寻找的好地方。听起来您要解决的问题最好通过 Apache 完成,在您的 httpd.conf 中或(如果启用)通过 .htaccess。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

否则,$_SERVER 变量 $_SERVER['PHP_SELF']$_SERVER['REQUEST_URI'] 可能用于你。

http://www.php.net/manual/en/reserved.variables.server.php

$_SERVER['HTTP_HOST'] 只会检查域名,不会检查请求的路径。这正如您所描述的,但似乎不是您想要的。

关于PHP : IF Domain equals EXACTLY [x] then [actions] but not subdirectories/files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598391/

相关文章:

java - hashCode()、equals(Object) 和 compareTo(Class)

c# - 比较两个字符串,忽略 C# 中的大小写

javascript - if else 语句和 JQuery

php - Twilio - 2 次响铃后转接调用

php - Wordpress - 在查看时搜索和替换帖子内容

php - 每次访问页面都没有得到返回值

android - textView 不显示输出

javascript - 如何使用PHP将地理位置信息发送到服务器?

java - hashCode() 没有 equals()?

sql - SQL Server 中的多个单独的 IF 条件