jef*_*kee 11 php apache dns url
我有一个专用服务器(apache,php,mysql)
有一个主要域名(让我们称之为www.domain1.com)实际上拥有所有文件,就像任何其他常规的虚拟主机帐户一样.另一个域(称为domain2.com)需要转发它,但需要屏蔽.
所以domain2.com/filename.php,domain2.com/filename.php/432/r23-gjfdla-fdjslaf/都需要显示domain1.com内容的相应内容,但浏览器仍然应该显示domain2.com而不是domain1 .com,它也必须由$ _SERVER ['HTTP_HOST']检测到,所以我的服务器知道用于联系网站的域名.
这是因为我有2个合作伙伴的客户,因此他们希望每个访问者保留他们输入的任何URL以进行独立呈现,但是使内容单方面而不必一次更新两个站点.
ako*_*ond 29
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.domain1.com
ServerAlias www.domain2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我为同一家公司运营的几个小网站(一家公司,两家公司,每家都有自己的网站)做了类似的事情.两者都在共享主机上,但您应该可以使用VirtualHosts完全相同 - 只需定义两个VirtualHost,每个都有一个单独的域名,但每个都指向文件系统上完全相同的文档根目录:
<VirtualHost *:80>
ServerName site1.com
DocumentRoot /srv/www/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName site2.com
DocumentRoot /srv/www/public_html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我index.php在public_html目录中.这将检查$_SERVER['HTTP_HOST']以确定正在使用的域名.然后,它设置一些具有适当目录位置的常量,以及访问数据库时使用的站点标志.
我有三个静态内容目录.一个是用于两个域的共享内容,另外两个是特定于站点的,其中包括徽标等内容.
其余PHP脚本保存在文档根目录之外的单独脚本目录中.必要时,脚本可以使用index.php绝对URL或其他特定于站点的信息中定义的常量.
/srv/www/
|
|--public_html
| |
| |--site1
| | |
| | |--css
| | |--images
| |
| |--site2
| | |
| | |--css
| | |--images
| |
| |--shared
| |
| |--css
| |--images
|
|--scripts
Run Code Online (Sandbox Code Playgroud)
如果您想要两个单独的文档根,只需创建两个单独的index.php文件,每个文件一个.然后他们可以调用相同的公共代码库(/srv/www/scripts/在我的情况下).像这样的东西:
/srv/www/
|
|--site1
| |
| |--public_html
| |
| |--css
| |--images
|
|--site2
| |
| |--public_html
| |
| |--css
| |--images
|
|--scripts
Run Code Online (Sandbox Code Playgroud)
然后:
<VirtualHost *:80>
ServerName site1.com
DocumentRoot /srv/www/site1/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName site2.com
DocumentRoot /srv/www/site2/public_html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)