当我去mydomain.com/search时,Angular 2应用程序已部署并抛出404

时间:2016-11-08 21:15:33

标签: apache .htaccess angular http-status-code-404

我定义了一些路线。这是一个片段:

const appRoutes: Routes = [
  {
    path: '',
    component: HomeComponent
  },
  {
    path: 'search',
    component: SearchComponent
  }
]

我的应用程序现已部署,但我无法转到mydomain.com/search这样的直接路由,因为我使用了404.但是,我可以转到mydomain.com/并点击从主页链接到/search。这很好用。

我正在使用apache。如何解决这个404问题,以便我可以通过向我显示搜索页面来mydomain.com/search并让它工作?

我知道有一种方法可以使用哈希位置策略来实现这一点,但我很想知道在apache服务器上执行此操作的方法。

谢谢!

1 个答案:

答案 0 :(得分:2)

添加到.htaccess文件或httpd.conf

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

需要在httpd.conf中为Directory添加AllowOverride选项

这里/ var / www / html是我项目的根

将.htaccess文件添加到您的项目中

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>