虚拟主机文档根目录访问上一个文件夹

虚拟主机文档根目录访问上一个文件夹

如何通过 index.html 访问未包含在虚拟主机文档根目录中的以前的文件夹。

例如:

<VirtualHost *:443>
        DocumentRoot /var/www/banking/personal-banking
        ServerName   www.zbux.com
        ErrorLog /var/log/apache2/www.zbux.com-error.log
        CustomLog /var/log/apache2/www.zbux.com-ssl_access.log combined
        SSLEngine on
    SSLCertificateFile /etc/ssl/certs/zbux_com.crt
SSLCertificateChainFile /etc/ssl/certs/zbux_com.ca-bundle
SSLCertificateKeyFile /etc/ssl/private/zbux.com.key 
</VirtualHost>

其中个人银行文件夹包含index.html,并且该文件需要访问银行文件夹中的文件夹bak。

答案1

根据 Apache 文档 -DocumentRoot 之外的文件

经常会出现需要允许 Web 访问文件系统中不严格位于 DocumentRoot 下的部分的情况。Apache 提供了几种不同的方法来实现这一点。在 Unix 系统上,符号链接可以将文件系统的其他部分置于 DocumentRoot 下。出于安全原因,Apache 仅在以下情况下才会跟踪符号链接:选项相关目录的设置包括关注符号链接或者符号链接如果所有者匹配

或者,别名指令会将文件系统的任何部分映射到网络空间。例如,

      Alias /docs /var/web

URLhttp://www.example.com/docs/dir/file.html将从/var/web/dir/file.html 提供。

因此,在您的情况下,您可以遵循 Jo-Erlend Schinstad 的建议并创建到“父文件”的符号链接,或者尝试定义 Alias 指令。

例如您可以添加:

 Alias /file.html /var/www/banking/file.html
 <Directory /var/www/banking>
    Require all granted
 </Directory>

的请求https://www.zbux.com/file.html将导致服务器返回文件/var/www/banking/file.html

这是mod_alias手动的。

相关内容