现有 httpd 服务器上的新虚拟主机:无法默认显示 index.html

现有 httpd 服务器上的新虚拟主机:无法默认显示 index.html

我有一个现有的 Apache httpd 服务器。所有现有的虚拟主机都有 php 登陆页面(即 index.php)。然而,新虚拟主机有一个普通的、老式的 html 登陆页面(即 index.html)。

我可以让 html 登陆页面出现如果我在 URL 中明确指定它,例如,http://qux.baz.com/index.html(不是真实的 URL)。

但如果我没有在 URL 中明确指定登录页面,例如,http://qux.baz.com,它会立即重定向到https://www.qux.baz.com,失败了。

我尝试在 qux.baz.conf 文件中放置一个 DirectoryIndex 指令;没有效果,即使重新启动 httpd 后也是如此。

我在任何地方找到的唯一现有 DirectoryIndex 指令是 php.conf 中的指令。我尝试在其末尾添加“index.html”。同样没有效果。

我的新 conf 文件如下所示(已更改 URL 以保护无辜者):

<VirtualHost *:80>
ServerName qux.baz.com
ServerAlias corge.baz.com
DocumentRoot /var/www/html/test
ServerAdmin [email protected]
<Directory /var/www/html/test>
AllowOverride All
</Directory>
# RewriteEngine on
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

(请注意,我故意注释掉了与重写有关的所有内容)

httpd -S 的输出(再次强调,URL 被更改以保护无辜者)如下所示

*:443                  is a NameVirtualHost
         default server www.foo.com (/etc/httpd/conf.d/foo-le-ssl.conf:2)
         port 443 namevhost www.foo.com (/etc/httpd/conf.d/foo-le-ssl.conf:2)
                 alias foo.com
         port 443 namevhost ip-172-32-29-49.ec2.internal (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost www.plugh.com (/etc/httpd/conf.d/plugh-le-ssl.conf:2)
                 alias plugh.com
         port 443 namevhost www.baz.com (/etc/httpd/conf.d/baz-le-ssl.conf:2)
                 alias baz.com
         port 443 namevhost www.bar.com (/etc/httpd/conf.d/bar-le-ssl.conf:2)
                 alias bar.com
*:80                   is a NameVirtualHost
         default server www.foo.com (/etc/httpd/conf.d/foo.conf:1)
         port 80 namevhost www.foo.com (/etc/httpd/conf.d/foo.conf:1)
                 alias foo.com
         port 80 namevhost www.plugh.com (/etc/httpd/conf.d/plugh.conf:1)
                 alias plugh.com
         port 80 namevhost www.baz.com (/etc/httpd/conf.d/baz.conf:1)
                 alias baz.com
         port 80 namevhost www.bar.com (/etc/httpd/conf.d/bar.conf:1)
                 alias bar.com
         port 80 namevhost qux.baz.com (/etc/httpd/conf.d/qux.baz.conf:1)
                 alias corge.baz.com
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex authdigest-opaque: using_defaults
Mutex watchdog-callback: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex authdigest-client: using_defaults
Mutex lua-ivm-shm: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex cache-socache: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48

我显然在这里做错了什么,但我一点也不知道是什么。

答案1

说实话我简直不敢相信这[脏话]!

我的浏览器正在执行此操作 [脏话]!

他们正在回忆自己去哪儿的时候,虚拟主机http://qux.baz.com不存在,或者默认情况下不提供 index.html,并且他们 [亵渎] 将我重定向到一个不存在的 URL!

我想没人知道如何告诉浏览器绝不还记得重定向吗?

相关内容