2016-12-08 10 views
0

私は現在、CLIビルドを使用してAngular2アプリケーションをデプロイしようとしていますが、これは完全に動作しています。私はdistのコンテンツを自分のサーバーのルートにあるフォルダにコピーしています。Angular2 CLI deploy、useHash

これは素晴らしいことですが、ルート上のページをリロードすると機能しません。私が見つけたいくつかのグーグルの後useHashRouterModule.forRoot(routes, { useHash: true })この問題を解決します。

私の質問は:私はかなりURLを好むので、別の方法がありますか?

答えて

1

サーバーによっては、すべてをindex.htmlページにリダイレクトするための書き換えルールを追加する必要があります。問題を解決します。 Apache2

、また、あなたはおそらく、あなたのAPIルート(慣例により、/ APIの例外を追加する必要があります念頭に置いておくIIS

<rule name="AngularJS" stopProcessing="true"> 
    <match url="[a-zA-Z]*" /> 
    <conditions logicalGrouping="MatchAll"> 
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
    <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="/" /> 
</rule> 

であなたの.htaccess

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

に追加)。

+0

私はいくつかの.htaccessルールを試してみましょう、後でそれに戻るでしょう – LVDM

+0

完璧に感謝の仲間を動作させる! (7分で回答を受け入れます)。 – LVDM

+0

問題はない、次回の検索を忘れないでください! – Sakuto

関連する問題