任何虚拟主机的默认index.html页面

时间:2018-03-15 22:45:40

标签: apache centos7

我已经配置了一些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">

2 个答案:

答案 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