繁体   English   中英

htaccess在root用户拒绝所有内容,允许在重写后访问匹配的url

[英]htaccess deny all at root, allow access matching url after a rewrite

我试图在共享主机上保护应用程序,我只能写.htaccess文件。 一切都在公共文件夹www。

我想限制只访问一个子目录,同时禁止访问所有其他子目录。 我还希望根URL http://<domain>/显示该允许目录的内容。

www/
├── ...
├── private/
├── public/ (I want to allow access to this one only)
└── .htaccess

到目前为止,我的.htaccess看起来像这样:

RewriteEngine on
RewriteRule ^(.*)$ /public/$1 [R]

Order allow,deny
Deny from all

<Files "/public/*">
    Allow from all
</Files>

有了这个,如果我去访问http://<domain>/public一切正常。 但是,如果我去http://<domain>/我得到403拒绝访问。

如何重定向根URL以显示我的公用文件夹的内容,同时仍拒绝访问根目录中的所有其他内容?

你可以使用这个htaccess

RewriteEngine on

RewriteRule ^$ /public/ [L,R]
RewriteRule !public - [R=403]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM