.htaccess 重写规则只允许访问文件夹中的某些子文件夹

.htaccess 重写规则只允许访问文件夹中的某些子文件夹,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有以下结构 index.php .htaccess system - config - classes - modules - module_name - js - css 我的目标是禁用对整个“系统”文件夹的直接访问,不包括资产文件夹“js”和“css” 如何正确地使用root.htaccess中的RewriteRule 目前,我知道了如何使用RewriteRule^system/-[F] 它工作正常,但也会禁用我的资产。在阻止所有规则之前,需要包含更具体的

我有以下结构

index.php
.htaccess
system
 - config
 - classes
 - modules
   - module_name
     - js
     - css
我的目标是禁用对整个“系统”文件夹的直接访问,不包括资产文件夹“js”和“css”

如何正确地使用root.htaccess中的
RewriteRule

目前,我知道了如何使用
RewriteRule^system/-[F]

它工作正常,但也会禁用我的资产。

在阻止所有规则之前,需要包含更具体的异常。例如,请尝试以下操作:

# Exceptions: Don't block these URLs
RewriteRule ^system/modules/module_name/(js|css)/ - [L]

# Block the rest...
RewriteRule ^system/ - [F]
在请求此格式的URL时,前面的例外情况只会阻止任何进一步的重写

更新:如果
模块
模块名称
目录是可变的,则可以将其更改为:

RewriteRule ^system/\w+/\w+/(js|css)/ - [L]

\w
[A-Za-z0-9.
的简写字符类

模块数量未知。我必须禁用除“js”和“css”文件夹之外的所有功能。谢谢,它可以工作,而且解决方案非常简单,需要更好地学习regexp:)