Httpd
現有 httpd 伺服器上的新虛擬主機:預設情況下無法顯示 index.html
我有一個現有的 Apache httpd 伺服器。所有現有的虛擬主機都有 php 登錄頁面(即 index.php)。然而,新版本有一個簡單的、老式的 html 登錄頁面(即 index.html)。
**如果我在 url 中明確指定它,**我可以獲得 html 登錄頁面,例如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 info@baz.com <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
我顯然在這裡做錯了什麼,但我一點也不知道是什麼。
我真的不敢相信
$$ profanity $$! 我的瀏覽器正在這樣做
$$ profanity $$! 當http://qux.baz.com的虛擬主機不存在或預設情況下不提供 index.html時,他們會記住他們去了哪裡,他們是
$$ profanity $$將我重定向到一個不存在的 URL! 我想沒有人知道告訴瀏覽器永遠記住重定向的方法嗎?