.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:)