Joh*_*ohn 4 virtualhost apache-2.2
我有以下虚拟主机
// filename: /etc/apache2/sites-available/ccbbbcc
<VirtualHost 1.1.1.1:80>
ServerAdmin utopia@ccbbbcc.com
ServerName ccbbbcc.com
ServerAlias www.ccbbbcc.com
DocumentRoot /srv/www/ccbbbcc/production/public_html/
ErrorLog /srv/www/ccbbbcc/production/logs/error.log
CustomLog /srv/www/ccbbbcc/production/logs/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后我也有
//filename: /etc/apache2/sites-available/default
<VirtualHost 1.1.1.1:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
blah blah blah
Run Code Online (Sandbox Code Playgroud)
为什么当我在浏览器中输入http://1.1.1.1 时,它会带我到http://ccbbbcc.com?即使我将新网址指向 IP 1.1.1.1,网页也会从http://ccbbbcc.com提供服务。为什么我无法从 /var/www 目录提供页面?
其他症状 - ccbbbcc vhost 仅覆盖了我的其他一些 vhost。不是全部。
我确保使用 a2ensite 并重新启动 apache。
这是我的 /etc/apache2/ports.conf 的样子
NameVirtualHost 1.1.1.1:80
Listen 80
Listen 443
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为 /srv/www/ccbbbcc/production/public_html/test.html 的文件,其中包含文本“Hello World”。当我输入http://ccbbbcc.com/test.html 时,页面加载正常。当我输入http://1.1.1.1/test.html 时,我得到一个 404 Page Not Found。当我输入http://1.1.1.1/ 时,Web 浏览器会刷新并显示 URL http://ccbbbcc.com。然后我将 test.html 附加到 url 的末尾,Hello World 再次出现。
那么这是否意味着某个地方发生了 http 重定向?如果是这样,我似乎无法确定是什么原因造成的。
另外,我注意到 ccbbbcc 覆盖了我的一些虚拟主机,而不是全部。似乎没有区分/覆盖 vhost 的模式。
我还注意到,如果我执行以下操作
1. a2dissite ccbbbcc
2. /etc/init.d/apache2 reload
3. a2ensite ccbbbcc
4. /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)
然后突然之间,http://ccbbbcc.com提供来自 /var/www/ 的页面,而http://1.1.1.1也提供来自 /var/www 的页面。a2ensite/a2dissite 是如何影响页面加载位置的?让 ccbbbcc 再次从 /srv/www/cbs/production 提供页面的唯一方法是重新启动我的整个 linux 服务器!这是怎么回事?
正如您在虚拟主机匹配的深入讨论中所读到的:
此列表中的第一个 vhost(具有指定 IP 地址的配置文件中的第一个 vhost)具有最高优先级,并捕获对未知服务器名称的任何请求或没有 Host: 标头字段的请求。
您的 Apache httpd/etc/apache2/sites-available/ccbbbcc
在/etc/apache2/sites-available/default
.
重命名/etc/apache2/sites-available/default
例如 to/etc/apache2/sites-available/00_default
和/etc/apache2/sites-available/ccbbbcc
to /etc/apache2/sites-available/01_ccbbbcc
,以便首先加载默认文件。
归档时间: |
|
查看次数: |
6606 次 |
最近记录: |