之后(或者说,在网络主机之间迁移期间,因为我想保留 VPS 上的 root 权限),我被温和地告知我的主页是“我试图打开该网站,但它打开了一个索引网站,而不是一个普通网站”。我去看看访问者的意思,它是一个自动生成的索引页,位于 /var/www 中,带有一个“html”文件夹,提供 Debian 精心设计的“成功了!”页面。
我检查了 000-default.conf,确保它指定了“/home/cjsh/mirror”的 DocumentRoot。重新启动。没有成功。我编辑了其他几个文件。没有成功。我全局将“/var/www”替换为“/home/cjsh/mirror”。现在它显示了正确的页面。但是,另一部分是我想将 HTTP 重定向到 HTTPS。目前我的网站同时提供这两种服务;我想http://cjshayward.com重定向至https://cjshayward.com,000-default.conf 应该可以做到,但是它似乎又没有被首先咨询。
我有几十个 conf 文件;除了 ssl-default.conf 之外,所有文件都按升序以 \d\d\d 开头。
我怎样才能找出首先加载的文件,或者告诉 Apache 我希望按字典顺序加载文件?
答案1
据我所知httpd.conf
按从上到下的顺序进行解析,每行一个指令。
匹配的文件Include
指令按字典顺序依次解析,然后继续解析该Include
指令之后的下一个指令。允许
嵌套指令,即加载的文件生成指令也可以使用指令 :)Include
Include
Include
此外,关于指令和章节如何合并也很有用。
显示虚拟主机处理方式的快速列表apachectl -S
Debian 喜欢将每个虚拟主机放在子目录中自己的文件中sites-available
,然后使用a2enable
或e2ensite
设置指向包含sites-enabled
目录中文件的符号链接Include
。请参阅Debian“sites-available”和“sites-enabled”目录的用途
包含的内容非常确定,但您不必依赖它们,只需手动管理 httpd.conf 就可以了。