14

Geçtiğimiz günlerde, bir AngularJS uygulamasında ngRoute modülünü kullanırken, yolun URL'de #! olduğunu ve daha önce sadece # olduğunu farkettim.Açısal rotalar # içerir! url içinde yerine #

Örneğin www.webiste.com/#/login, kodu kullanılarak bir bütün olarak baz kaldırır requireBase devre dışı da html5Mode etkinleştirmek gerekir www.website.com/login için

$locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
}); 

ve URL değişiklikleri www.website.com/#!/login

haline gelir iyi çalışıyor ama yanıltıcıdır ve Açısal SPA URL'lerinin neye benzediği değildir.

html5Mode'u etkinleştirmezsem, URL kodlanır ve çevreyi alamıyorum. Yani www.website.com/#/login, www.website.com/#!/#%2Flogin olur (Daha sonra /, %2F olarak kodlanır).

Bu, geliştiriciler tarafından belirli bir amaç için uygulanan bir değişiklik mi? Ne fark eder? Uygulamamın çalışmaya devam etmesi için ne gibi değişiklikler yapmam gerekiyor? Yanlış bir şey mi yapıyorum?

Github sorunu: Bu karma patlama denir https://github.com/angular/angular.js/issues/15547

+0

kullanım sağlayan noktasında aykırı html5Mode ... o yüzden neden hiç karmaları kullanıyorsunuz? Hashprefix'in yönergelerinde, yönergelerin – charlietfl

+2

ile ilgili yönergelerini okuduğunuzda (app.js'de olabilir), bu "$ locationProvider.hashPrefix ('!');" Gibi önek ayarlıyorsunuz. Kaldır "!" –

+0

Ben hiçbir yere böyle bir şey ayarlamıyorum. Html5Mode'un URL'lerdeki '/' (eğik çizgi) kodlamasını ortadan kaldırmasını sağladım. –

cevap

4

.

Bir süreliğine Twitter da aynı şeyi kullanıyordu. AJAX aramalarına izin verir ve arama motorlarına yolunuzu "gerçek" bir yol kullanmadan bildirir. Yine de eskimiş sayılır.

https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

bu konuda başka stackoverflow yanıtı var: url en içinde karma

Doing links like Twitter, Hash-Bang #! URL's

+0

'da ortaya çıkan bir kırılma değişikliğidir Neden bu sorunlarla yüzleşiyorum aniden? Bir yıldır küçük açısal uygulamalar üzerinde çalışıyorum ve bu konulara hiç rastlamadım. Benim için '' 'iyi çalıştı. Eski uygulamalar hala iyi çalışıyor. Oluşturduğum her yeni uygulamada sorun var. –

+0

'www.website.com/login' muhtemelen daha fazla arama motoru dostu yapmak istediğiniz şeydir. Ama ben sadece neden birden bire patlama (!) Ekleyeceğinden emin değilim. Son zamanlarda sürümleri güncellediniz mi? Belki de varsayılan olarak bunu yaptığından emin olmak için sıfırdan başlayan küçük bir örnek deneyin. –

+1

Evet Efendim, bunu da denedim. Modüle bir güncelleme gibi görünüyor. –

İlgili konular