我已完成角度项目。现在我想用htaccess文件完全改变一些url格式强制。所以我应该把htaccess文件放在哪里? 我已尝试过像下面的路径:
/opt/lampp/htdocs/GreatColoradoHomes
/opt/lampp/htdocs/GreatColoradoHomes/src
/opt/lampp/htdocs/GreatColoradoHomes/src/app
答案 0 :(得分:5)
github issue
中有答案将.htaccess放入src文件夹(is
src/.htaccess
的最终路径)将其添加到资产数组中的
angular-cli.json
(例如favicon.ico)。有类似的东西:
"assets": [ "assets", "assets/images/favicon.ico", ".htaccess" ],
答案 1 :(得分:3)
在.htaccess
之外有src
,您很可能会遇到以下错误,
发生未处理的异常:.htaccess资产路径必须以项目源根开头。
正确的方法是这样,
"assets": [
"src/favicon.ico",
"src/assets",
"src/.htaccess"
],
请确保将您的.htaccess
文件放在src
下。
使用上述设置,运行build
时,您会在.htaccess
中得到dist
。
答案 2 :(得分:2)
您还可以通过在键dist
上的package.json
中定义构建命令,例如在构建后将文件复制到scripts
文件夹中
"buildProd": "ng build --prod && cp ./.htaccess ./dist/project-name/.htaccess",
将文件.htaccess
复制到主projet文件夹(不是src),并由npm run buildProd
运行build命令来创建dist
。
这种方法不会将服务器文件引入角度构建步骤(它在“外部”执行)。