我需要允许通过.htaccess直接访问特定文件夹名称(和子内容),并拒绝所有其他文件夹。
首先,我当前的.htaccess
是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
我的文件结构例如是:
modules/
core/
_test/
publics/
file.txt
other/
_whatever/
publics/
more.txt
publics/
sub/
file.txt
other.txt
.htaccess
除了publics
文件夹中的文件和文件夹外,我无法访问任何内容。在这个例子中,我可以毫无问题地访问:
我无法访问任何文件或文件夹。
我想我们需要正则表达式,但我不知道如何在mod_rewrite上使用它来按我想要的方式工作。
有什么建议吗?
答案 0 :(得分:3)
对您当前的htaccess稍作修改。不在publics文件夹下的任何访问都将被重定向到index.php:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !publics/
RewriteRule . index.php [L]