我的目标是拥有多个这样的网站:
www.mysite.com/site1/
www.mysite.com/site2/
www.mysite.com/site3/
www.mysite.com/site4/
<小时/> 这些网站的文件位于:
www.mysite.com/site_files/
这些包括网站的各个页面,以及css,js和图像。
<小时/> 这些页面中的每一页都几乎相同,但会从不同的数据库中加载内容,并且一些着色以及一些图像将会有所不同。
我很好奇这样做的最佳方式是什么。我尝试从index.php
获取www.mysite.com/site_files/
并将其包含在网站的index.php
中:
www.mysite.com/site
index.php的内容:
<?php
$siteDB = "this";
$domainName = "thisdomain";
$twitterName = "thistwitter";
$facebookName = "thisfacebook";
include 'http://www.mysite.com/site_files/index.php';
?>
然后在site_files index.php中我引用$ siteDB:
echo $siteDB;
使用此方法,变量不可用于包含的代码。
每个网站index.php都有不同的变量,但它们都包含相同的site_files/index.php
任何帮助都将不胜感激。
答案 0 :(得分:3)
这不起作用:
include 'http://www.mysite.com/site_files/index.php';
您需要访问相对于脚本的包含文件。或者通过绝对网址:
include $_SERVER['DOCUMENT_ROOT'].'/site_files/index.php';
您的方法在技术上是可用的,但您应该在Web根目录下包含嵌套的配置文件。
include $_SERVER['DOCUMENT_ROOT'].'/site1_config.php';
include $_SERVER['DOCUMENT_ROOT'].'/site_files/index.php';
配置定义数据库连接和任何其他特定于站点的详细信息。
这是一种方法,可能是最接近你拥有的。但不一定是“最好的”
在这种情况下,“最好”是一个意见问题。