2016-03-26 10 views
1

私は角流星で作業しています。アドレス欄に直接入力すると経路が動作しません

angular.module('myapp').config(function($stateProvider, $urlRouterProvider, $locationProvider) { 

     $locationProvider.html5Mode(true); 
     $stateProvider 
     .state('homepage', { 

      url: '/homepage', 
      template: '<mycomponent></mycomponent>' 
     }) 

     .state('anotherpage', { 

      url: '/other-route', 
      template: '<othercomponent></othercomponent>' 
     }); 
     $urlRouterProvider.otherwise('/homepage'); 
    }); 

私は直接アドレスバーにdirecrly /他のルートにURLを入力するまで、すべてがうまく動作します:私はこのようなルートを定義しました。ブラウザは/ホームページに戻ります。ヒント?ありがとう。

+0

'<その他の成分>'の終わりにこれを追加し、 '<つの異なるタグ、不正後者はothercomponent'あります。さらにあなたのルートで*ハイフン*を削除しようとしましたか? – Quirk

+0

あなたは正しいです、申し訳ありません。私はちょうど再編集し、ルートからハイフンを削除しようとしましたが、何も変わりません。 – skjorrface

+0

'html5Mode'をオフにします。 – Quirk

答えて

0

、あなたはまた

private const string ROOT_DOCUMENT = "/Index.html"; 
 

 
protected void Application_BeginRequest(Object sender, EventArgs e) 
 
{ 
 
    var path = Request.Url.AbsolutePath; 
 

 

 
    string url = Request.Url.LocalPath; 
 
    if (!System.IO.File.Exists(Context.Server.MapPath(url))) 
 
    Context.RewritePath(ROOT_DOCUMENT); 
 
}

のindex.htmlでGlobal.asaxファイルを設定する必要があり、あなたはASP.Netを使用している場合は、ベースタグを必要と

<base href="/">

とApp.configファイル部

$locationProvider.html5Mode(true);

+0

ASP.net?私は角度のあるMeteor.jsを使用しています。 – skjorrface

+0

hmtl5モードを削除して、httpd5モードが関連しているかどうかを知るために、#を付けてdirecty URLを試してみてください。それを狭めるかもしれない。 – tfa

+0

助けてくれてありがとう。私は試しましたが、HTML5モードをオフにしても何も変わりません。私はホームページから始まるルートをたどるだけです。 – skjorrface

関連する問題