如何更改webroot并使ftproot对浏览器不可见?

时间:2017-01-27 16:58:23

标签: .htaccess ftp root

我试图通过将webroot指向我的ftproot中的特定子文件夹来保护ftp root

-root (sub.mydomain.com)
    -index.html (for testing, this should not show)
    -conf
    -src
    -public
        -index.html (this should always show)

我通过在fptroot中放置一个.htaccess文件来尝试它,如下所示:

RewriteEngine On
RewriteRule ^$ /public [L]

我在google搜索过了几个不同的东西,但最后我还是访问了root / index.html。

下面的这个实际上是根据需要重定向,但是然后/ public_html /在浏览器中显示,这显然不是我想要的。

RewriteEngine On
 RedirectMatch ^/$ /public/

下面这个做同样的事情

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) http://sub.mydomain.com/public [R=301,L]

我希望除了root / public之外的所有内容都对浏览人员完全不可见。许多虚拟主机默认为您完成此设置,但我在这个项目中没有那么奢侈。

1 个答案:

答案 0 :(得分:0)

这将为您完成,将其放在根.htaccess文件中:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1