我已经配置了一些vhost:
<VirtualHost *:443>
ServerName test.mywebsite.com
ServerAlias test.mywebsite.com
DocumentRoot /hosting/test
<Directory "/hosting/test">
AllowOverride All
Order Allow,Deny
Allow from All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /usr/local/apache/ssl/mywebsite.com.pem
SSLCertificateKeyFile /usr/local/apache/ssl/mywebsite.com.key
</VirtualHost>
现在我需要显示一个默认网页,如果域根文件夹没有像index.php或index.html这样的索引页面。
Actualy如果打开wesite它会返回403禁止,如果index.html / php不存在。
我的想法是;
文件夹网站没有index.html / php显示: /etc/var/http/hdocs/default.html
中的defaultwebpage.html怎么做?
Apache config.conf配置了默认的root,但如果将index.html放在这里,则在缺少的情况下不显示。
DocumentRoot "/data/www/default"
<Directory "/data/www/default">
答案 0 :(得分:1)
你不能使用ErrorDocument的东西将所有404重定向到某个默认页面吗?如果该默认页面位于您的webroot之外,请使用别名将其引入。
所以
Alias / specialindex / etc / var / http / hdocs /
和
ErrorDocument 403 /specialindex/default.html
看起来很奇怪,但应该有效。但是,当然捕获所有403 ......
答案 1 :(得分:0)
解决方案:
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
<Directory /usr/share/httpd/noindex>
AllowOverride None
Require all granted
</Directory>
Alias /.noindex.html /usr/share/httpd/noindex/index.html