Php 1个文件中不同域的不同内容
正在尝试为3个不同的域创建index.php文件。。。所以我需要为不同的域显示不同的内容。但我希望它也能在子文件夹的子文件夹上工作,我是说site1.com/some_content 这是我的代码,但它不能像我想要的那样工作Php 1个文件中不同域的不同内容,php,Php,正在尝试为3个不同的域创建index.php文件。。。所以我需要为不同的域显示不同的内容。但我希望它也能在子文件夹的子文件夹上工作,我是说site1.com/some_content 这是我的代码,但它不能像我想要的那样工作 <?php $host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if($host == 'site1.com') { echo "A LOT OF HTML JAVAS
<?php
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host == 'site1.com') {
echo "A LOT OF HTML JAVASCRIPT AND CSS";
}
if($host == 'site2.com') {
echo "Same here but different content";
}
if($host == 'site3.com') {
echo "Cats and flowers";
}
?>
有什么想法吗?谢谢 $host=$\u服务器[HTTP\u主机];
你不需要休息
我必须注意到你很可能做错了什么。
至少创建3个不同的脚本,或者用自己的脚本将每个域映射到不同的目录。代码中出现这样的混乱是一种不好的做法。如果您使用的是Apache,您可以在.htaccess文件中定义如下内容: 然后,在index.php文件或每个页面加载中包含的任何内容中添加以下内容:
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
之后,您可以在代码中的任何位置读取APPLICATION_ENV的值,以确定您当前所处的环境,如下所示:
switch (APPLICATION_ENV) {
case 'development':
// do stuff
break;
case 'staging':
// do stuff
break;
case 'production':
default:
// do stuff
break;
}
您可以将多个主机名指向/etc/hosts或C:/Windows/System32/drivers/etc/hosts文件中的同一IP/主机,假设它位于本地主机上:
127.0.0.1 development.example.com
127.0.0.1 staging.example.com
127.0.0.1 example.com
我知道拥有一个全局常量不是个好主意,但它比依赖HTTP\U主机要好,因为这很容易改变。只保留$HOST=$\u SERVER['SERVER\u NAME']。您不需要使用echo$\u SERVER['SERVER\u NAME']和echo$\u SERVER['REQUEST\u URI']进行基本调试。很明显,为什么你的代码不起作用。删除$\u服务器['REQUEST\u URI']partwow!谢谢是的,你说得对,那好多了!谢谢你,安德里斯:
127.0.0.1 development.example.com
127.0.0.1 staging.example.com
127.0.0.1 example.com