2017-03-08 4 views
1

私はAngular 2アプリケーションをhttp://www.ixwebhosting.com/にホストしています 従来のLAMPスタックを提供しています。角度ルーティングはLAMPサーバーで動作します

私はこのようなルートを持っています:www.mysite.com/myapp/item/:idローカルのngサービス環境でうまく動作します。

www.mysite.com/my-app/のindex.htmlページが正常に読み込まれますが、ブラウザにwww.mysite.com/my-app/item/1と入力すると失敗します。私はルーティングがWebサーバーに最初に当たっているので疑いがあります - そして、Webサーバーは実際のディレクトリまたはファイルをその場所で見つけることができないので404を返します。ApacheサーバーをAngularルーティングで使用するように設定する方法はありますか?

答えて

1

はい、ただのindex.htmlに存在しないファイルに向け、すべての要求をリダイレクト - WPのようなものはありません。もちろん

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

を、この.htaccessファイルはmy-」に配置する必要がありますapp "フォルダにあります。

+0

しかし、私のAngularアプリはwww.mysite.com/my-appディレクトリにありますので、どうすれば上記を書き直していただけますか? – etayluz

+0

RewriteBaseだけが変更されました。私は自分の答えを更新します。 –

+0

ありがとう、私は試みましたが、それはまだルートディレクトリのindex.htmlにリダイレクトしています。おそらく最後の行も同様に変更する必要がありますか? (RewriteRule。/index.html [L]) – etayluz

関連する問題