Ash*_*win 3 configuration domain apache-2.2
我正在我的本地系统上测试配置以学习 Apache 配置并使用相同的方法来处理我的生产服务器。
我需要配置两个域example.com和example.org
我有 php 脚本所在的目录:
/server/example.com for example.com 和
/server/example.org for example.org
我在两个目录上运行了这个命令:
sudo chcon -R -h -t httpd_sys_content_t /server/example.*
example.com 中的 index.php 包含
<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.com');
if ($debug) echo "in example.com";
?>
Run Code Online (Sandbox Code Playgroud)
和
example.org 中的 index.php 包含
<?
$debug = ($_SERVER['HTTP_HOST'] == 'example.org');
if ($debug) echo "in example.org";
?>
Run Code Online (Sandbox Code Playgroud)
我还创建了一个名为example.conf下的 apache conf 文件/etc/httpd/conf.d/example.conf
以下是 .conf 文件的内容:
<VirtualHost example.com:81>
DocumentRoot /server/example.com
ServerName example.com
<Directory "/server/example.com">
AllowOverride None
Options All
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.htm
</Directory>
</VirtualHost>
<VirtualHost example.org:82>
DocumentRoot /server/example.org
ServerName example.org
<Directory "/server/example.org">
AllowOverride None
Options All
Order allow,deny
Allow from all
DirectoryIndex index.php index.html index.htm
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我访问example.com该网站时,按预期工作。/server/example.comget 中的脚本文件评估为 true 并显示in example.com
现在,当我访问example.org. 该网站什么也没显示。
另外,这是我/etc/host修改的:
127.0.0.1 example.com
127.0.0.1 example.org
Run Code Online (Sandbox Code Playgroud)
有人可以建议我在这里缺少什么吗?
你是访问example.org:82,还是只是example.org?目前,您的站点绑定到不同的端口。这可能不是您想要的;您可能想改用基于名称的虚拟主机。
您将需要NameVirtualHost某个地方的指令,并更改您的<VirtualHost>指令以匹配它。
像这样的东西:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /server/example.com
ServerName example.com
ServerAlias www.example.com
# etc
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /server/example.org
ServerName example.org
ServerAlias www.example.org
# etc
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3741 次 |
| 最近记录: |