.htaccess - 即使 htaccess 重写了该 URL 中的单词,也允许在 htaccess 中使用特定 URL
问题描述
我的 .htaccess 中有以下情况:
RewriteEngine On
RewriteRule ^laravel/(.*)$ /$1 [R=301,L]
这是专门为不允许人们访问我的 laravel 目录而设计的。但是,我希望能够将 laravel 目录中的特定文件加载到其他文件中,如下所示:
<script src="/laravel/public/js/app.js" defer></script>
问题如下:生成的 URL 将根据规则从其中删除“laravel”。如果我评论该规则,那么包含 app.js 的那行代码将起作用。
我已经用我的 .htaccess 尝试了几件事并寻找了一个解决方案,但是唉,我似乎无法理解 .htaccess 代码是如何真正做这些事情的。
任何人都可以帮助制定规则以明确允许该 URL 吗?或者,如果可能,允许访问 /laravel/public/js/ 目录而不从 URL 中删除单词“laravel”。
非常感谢你!
解决方案
无需在 RewriteCond 或类似中检查否定模式来做复杂的事情,您可以在此之前放置一个与该 URL 专门匹配的规则,根本不重写(-
代替替换 URL),然后使用L
标志来指示不应再评估以下任何规则。
RewriteRule ^laravel/public/js/app\.js$ - [L]
推荐阅读
- java - 阶段/插件和 Maven 项目构建器
- javascript - 为什么hasOwnProperty在构造函数上返回false,但在没有实例化函数的情况下访问字符串属性时返回true
- animation - SwiftUI - 视图左上角的按钮不起作用
- python - for 循环的索引标量变量无效
- javascript - 选中后将 href 链接添加到复选框
- javascript - 如何设置 DOM 元素相对于网页中其他元素的位置并使其随屏幕大小自动缩放?
- javascript - 反应 - 香草选择值不更新
- javascript - 具有获取服务的快速验证器
- docker - 带有dind vm端点+ tls的Hyperledger Fabric v2新链码生命周期安装问题
- amazon-web-services - GPU 上的 AWS SageMaker