2017-04-20 8 views
0

次の手順で何が起こるか教えてください:エラー404、角度付き4、バルブ付きのTomcat 9でルーティングを使用

1)私のアプリプロジェクトはAngular 4.0.2に基づいています。私はルーティングを使用しています。これらはapp.module.tsの私のルートです:

const routes: Routes = 
[ 
{ path: '', component: LoginComponent }, 
{ path: 'dashboard', component: DashboardComponent }, 
{ path: 'login', component: LoginComponent } 
]; 

したがって、Webアプリケーションの最初の画面はログインです。

2)私は、ベースHREFを変更index.htmlをファイルを変更し)私は

4フォルダTomcatのWebアプリケーションにフォルダDISTを移動)コマンドNGビルド-prodを

3を実行します。 、

<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> 

6)私はWEB-INFは、その後、私は、ファイルrewrite.configを作成したフォルダを作成しました:今、それはだが

5)/Tomcat9/conf/context.xmlでは、私は次の命令を追加しましたこのファイルが含まれています: #を既存の資産またはディレクトリがそれに行くを要求された場合、それは私がTomcatサーバー

8)を開始し

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
RewriteRule^- [L] 

# If the requested resource doesn't exist, use index.html 
RewriteRule^/index.html 

7)であるとして、次の私は、Mozillaをopennedブラウザと私はアドレスバーに入れます localhost:8080/dist/ 2つのテキストボックス(ユーザーとパス)とログイン用に1つのログイン画面が表示されます。

9)ユーザーとボタンを押して有効にしたとき。ダッシュボードの画面に移動し、アドレスバーが localhost:8080/dist/dashboardに変わるのを確認します。

10)その後、私はアドレスバーに行き、私は手動で書いた:localhost:8080/dist/dashboard。

その後、私が入力し、それは404

このアプリは、.htaccessファイルでApacheサーバでも動作しますが、ないのTomcatで9

をエラーダッシュボード画面を示しておくとはならない404

エラーが表示されます押してください

rewrite.configを設定した場合、ダッシュボード画面が表示されないのはなぜですか?エラー404を避けるために何が欠けていますか?

+0

解決済みの問題が見つかりましたか? –

答えて

0

書き換えルールが機能していないようです。 次のルールを試してください:

#Check if the uri ends with an file extension 
RewriteCond %{REQUEST_URI} .*\.(.*)$ [OR] 

#Check if the uri contains /api/ 
RewriteCond %{REQUEST_URI} ^(.*)(/api/).*$ [OR] 
RewriteRule ^(.*)$ - [L] 

#If the requested resource doesn't exist, use index.html 
RewriteRule ^(.*)$ /index.html 
関連する問題