当部署到Apache 2 HTTPD服务器时,Angular 7的路由无法正常工作。

18 浏览
0 Comments

当部署到Apache 2 HTTPD服务器时,Angular 7的路由无法正常工作。

我一直在尝试将我的Angular 7应用部署到HTTPD Apache 2服务器上。\n我已经采取了以下步骤:\n

    \n

  1. 为我的项目设置了一个虚拟主机
  2. \n

  3. 构建 --> ng build --prod
  4. \n

  5. 按照这里的指示创建并配置了.htaccess文件:\n \n RewriteEngine On\n RewriteBase /\n RewriteRule ^index\\.html$ - [L]\n RewriteCond %{REQUEST_FILENAME} !-f\n RewriteCond %{REQUEST_FILENAME} !-d\n RewriteRule . /index.html [L]\n\n
  6. \n

  7. 像这样配置了我的app-routing.module.ts:
  8. \n

\nimports: [RouterModule.forRoot(routes ,{onSameUrlNavigation: \'reload\'})]\n我的主页可以正常工作,但当我尝试通过其他路由导航时,比如http://myhostname/users/crud,就无法工作了。\n这里有什么我忽略的地方吗?\n谢谢。

0
0 Comments

在部署到Apache 2 HTTPD服务器时,Angular 7路由无法正常工作的原因是没有设置正确的baseHref路径。解决方法是使用ng build --prod --baseHref=/users/crud/命令进行构建,其中/users/crud/是正确的baseHref路径。通过这种方式进行构建后,路由将能够正常工作。另外,也可以尝试使用Springboot和内嵌的Apache Tomcat来处理路由,并通过Zuul和application.properties进行配置,这种方式也能够解决路由无法工作的问题。

0