【发布时间】:2020-08-07 06:59:14
【问题描述】:
我正在使用 Angular 9.x。我需要忽略根目录中的特定文件。例如:
/root
- index.html
- ignorefile.json
我尝试向 .htaccess 添加重写规则,但没有成功。
RewriteEngine On
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_URI} !^/ignorefile\.json$ [NC] # this does not work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
如何在编译应用时忽略特定文件?
【问题讨论】:
-
Angular 是一个前端框架,即它在浏览器中运行。
.htaccess文件用于某些 Web 服务器。文件在哪里?为什么它们是您的 Angular 项目的一部分?在构建过程中你需要它们吗? -
@joel .htaccess 文件由 Angular CLI 自动生成。我不需要被忽略的文件成为项目的一部分,我只需要重写规则忽略它。
-
啊,我不知道 Angular CLI 可以生成 .htaccess 文件。如何?但是您正在使用 .htaccess 文件的网络服务器上进行部署,对吗?你不能从你的应用分发中排除 ignorefile.json 吗?
-
如果这是一个物理存在的文件,那么使用
!-f和!-d标志检查请求文件名的两个 RewriteConds 应该已经阻止以下规则进行任何重写。不确定实际问题应该出在哪里? -
忽略文件是什么意思?如果您输入
http://example.com/ignorefile.json,您期望得到哪个结果?一个404?主页?文件本身?
标签: angular .htaccess mod-rewrite