2017-01-20 4 views
3

私は現在、「www.example.com/projects」のような特定のルートを入力しようとしています。これは、その後、生成します。リクエストされたURLはこのサーバー上に見つかりませんでした。 - Google Cloudを使用した角度2のルーティング

Error: Not Found

The requested URL /projects was not found on this server.

注:特定のURLにページやタイピングのリフレッシュ時にUIを経由して、そのルートにナビゲートするとき、これは発生しません、それだけで起こります。

私はGoogleのクラウドプラットフォームを使用していますが、まず角度cliを使用してアプリケーションを設定します。

私は各ルートのindex.htmlを提供しなければならないと述べていますが、それを行う方法やそれが正しい方法であるとしてもドキュメントを見つけることはできません。

私はこれを理解するために必要なものが何であるか分かりませんので、私はあなたが手助けする必要があるものを更新します。

ハッシュロケーションストラテジーが機能していますが、私はパスロケーションストラテジーを稼働させようとしています。

ありがとうございました!

+0

anglejs2でハッシュロケーション戦略を試してみよう – Sreemat

+0

ハッシュロケーション戦略オプションを検討しましたが、それを実現しましたが、それを実現するためにパスロケーション戦略を検討したいと思います。何か案は? – Buck39

答えて

1

にコードの下に追加することでこれを行うだろうAngularJsで"www.example.com/#/projects"

のようなルーティングクライアント側にハッシュ#接頭辞を追加することで、この問題を克服することができますあなたのapp.yamlファイルで、ハンドラの正規表現を次のように更新します。

- url: /(.*\.(gif|png|jpg|css|js)(|\.map))$ 
    static_files: dist/\1 
    upload: dist/(.*)(|\.map) 

- url: /(.*) 
    static_files: dist/index.html 
    upload: dist/index.html 

distファイルはcliの静的出力です。あなたのアプリがもっと使う場合は、最初のハンドラにファイル拡張子を追加してください。

はそれが私はこのために角度で使用できるHashLocationStrategyを利用してきた

+0

それは完璧に働いてくれてありがとう!私は一点で似たようなものを持っていましたが、うまく機能しませんでした。 – Buck39

0

1-サーバー側のアプリケーションでは、シングルページアプリケーションで/projectsへのルーティングを処理できるように、ベースルート"/"のみをレンダリングする必要があります。

2 - また、あなたはあなたのconfig機能で

$locationProvider 
    .html5Mode(false); 
+0

私はこれを置く設定ファイルはどちらのファイルですか?私はapp.jsファイルを見つけようとしていますが、Angular 2 CLIはそれとは違いますか? 「#」を表示せずに行う方法もありますか? – Buck39

2

作品を願っています。 Googleクラウドインスタンスに配備する際、私の角型アプリケーションでPathLocationStrategyを使用できません。

import { LocationStrategy, HashLocationStrategy } from '@angular/common'; 

@NgModule({ 
providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}] 
}) 

export class AppModule 

私はそれが実現しているすべてのこの後HashLocationStrategy私は単に私のapp.module.tsに2行のコードを使用を達成するため

Error: Not Found

The requested URL /projects was not found on this server.

:私はPathLocationStrategyを使用する場合、私はエラーを取得しますPathLocationStrategyという角度で利用可能なデフォルトのパス戦​​略を使用する方がよいでしょう。上の答えでNicholasが言ったように、私はangle-cli v1.4を使って作成した私のプロジェクト構造内にapp.yamlファイルを見つけることができません。

誰かが私を正しい方向に導くことができれば素晴らしいでしょう。

関連する問題