首页 > 解决方案 > 即使 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”。

非常感谢你!

标签: .htaccess

解决方案


无需在 RewriteCond 或类似中检查否定模式来做复杂的事情,您可以在此之前放置一个与该 URL 专门匹配的规则,根本不重写(-代替替换 URL),然后使用L标志来指示不应再评估以下任何规则。

RewriteRule ^laravel/public/js/app\.js$ - [L]

推荐阅读