2017-04-15 7 views
1

私はルーティングのための角度でui-routerを使用しています。私のメインURLの後にいくつかの奇妙な#!があります。 index.htmlの後に上記のURLで#を削除!私のURLから

http://localhost/bootstrap/newBlogProject/index.html#!/home

、私はこの#!記号を削除する必要があります。

+0

はすでに$ locationProvider.html5Mode(true)を使用したが動作していません。 –

+0

どの角度の角度を使用していますか? – Michael

+0

あなたのブラウザ(バージョンあり)は何ですか? (非常に)古いブラウザはhtml5modeを使用できません。 –

答えて

0

$ locationProvider.hashPrefix( '');を設定しようとします。 ここでは、ルートconfigsにhashPrefixを設定する例を示します。

function config($httpProvider, $routeProvider, $locationProvider) { 
    $routeProvider 
    .when('/', { 
    templateUrl: 'views/home.html', 
    controller: 'HomeController', 
    controllerAs: 'vm', 
    access: { 
     restricted: false 
    } 
    }); 
    $locationProvider.hashPrefix(''); 
} 
0

hashBang(#!)の使用を避けるには、$ locationProviderのhtml5Modeを有効にする必要があります。

function config($locationProvider) { 
    $locationProvider.html5Mode(true); 
} 

これは、ui-routerが履歴APIを使用してURLを操作し、hashBangを使用しないようにします。 Like like here

ブール値の場合、html5Mode.enabledをvalueに設定します。オブジェクトが有効な場合は、requireBaseとrewriteLinksをそれぞれの値に設定します。サポートされているプロパティ:

有効
  • - {boolean型} - (デフォルト:false)trueの場合、サポートされているURLを変更するhistory.pushStateに依存しています。 pushStateをサポートしていないブラウザでは、ハッシュ接頭辞のパスに戻ります。

  • requireBase - {boolean} - (デフォルト:true)html5Modeを有効にすると、タグが存在する必要があるかどうかを指定します。有効でrequireBaseがtrueで、ベースタグが存在しない場合、$ locationが挿入されるとエラーがスローされます。詳細については、$ location guideを参照してください。

  • rewriteLinks - {ブール|文字列} - (デフォルト:true)html5Modeを有効にすると、相対リンクのURL書き換えを有効/無効にします。文字列に設定すると、指定した文字列に一致する属性を持つリンクでのみURLの書き換えが行われます。たとえば、 'internal-link'に設定した場合、リンクのURLのみが書き換えられます。属性名の正規化はここでは適用されないので、 'internalLink'は 'internal-link'と一致しません。

関連する問題