在Apache中,angular2路由深度链接

时间:2016-06-10 04:58:33

标签: angular

我做了一个小的angular2路线应用程序。它在'npm start'时工作正常。

但是一旦我将其部署到apache,每当我尝试通过在浏览器地址栏中输入来手动更改路由时,它就会显示错误。

我尝试了在Angular2 routing / deep linking not working with Apache 404处给出的解决方案,但在手动更改路线时仍然无效。

我对我的问题做了一个小小的截屏视频。如果有人可以帮助我。 https://youtu.be/a7oDW3KsYCU

由于

[编辑] 我的.htaccess是

<IfModule mod_rewrite.c>
  Options Indexes FollowSymLinks
  RewriteEngine On
  RewriteBase /angulardeploy2/
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

如何修改它。

1 个答案:

答案 0 :(得分:0)

如果启用了mod_rewrite,src / .htaccess中的此设置应该有效。

RewriteEngine On
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

并且不要忘记在已部署的包中包含.htaccess文件,您可以通过将文件注册为.angular-cli.json中的资源来实现。

 "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico",
        ".htaccess"
      ],