2010-12-17 19 views
9

http://mysite.com/index.php var. Adres çubuğuna url'yi değiştirmeden sayfadaki URL'yi nasıl değiştirebilirim

Ve bir alt menü

Ama her isteği işlemek için http://mysite.com/index.php istiyorum ve sadece Ajax isteğini kullanarak içeriği değiştirin. Bu şekilde, site sadece içerik bölümünü yükler ve gezinmek için çok daha hızlı ve kolaydır. vb Ürünleri http://mysite.com/product içerik, biliyorum

göreceksiniz sadece URL google http://mysite.com/index.php ve ben Hakkımızda içeriğe http://mysite.com/about-us ilişkilendirmek istiyorum çünkü

sorun burada, SEO Bunu sadece PHP'yi okuyarak ve Ajax'ı anında yazarak yapabilirim, ancak bunu yaparken tüm sayfa her seferinde yeniden yüklenecektir. Tüm sayfayı yeniden yüklemeden bunu yapmanın bir yolu var mı? İhtiyacım olan şey, alt menüde düzenli bir çapa bulundurmak, "http://mysite.com/contact-us" işaretini gösteren exampel için tıklatıldığında, bu sayfayı açmak yerine Ajax isteğini işleyin.

Ve eğer bu mümkün olursa, Google bunu muhtemelen siyah şapka olarak görecek, değil mi?

Sana http://www.imhackingyou.com/sucker beni ziyarete ama okumaya addressbar değiştirmek couldlet bunu yapabilmek için çünkü Selamlar Alex

+3

, sağ? –

+1

Ve bir şey yapıyor o değer eklenmez son terim kullanır olduğundan mı? – zzzzBov

+0

zzzzBov: ????? iyi hissediyor musun? Ajax lates buzzword nedir? –

cevap

12

sayfayı değiştirmeden adres çubuğundaki URL'yi değiştiremezsiniz http://www.bankofamerica.com/login

+0

Yapabilirsin, ama bu tür yapmak için bir sümüksü bir şey. –

+0

Hata varsa doğru cevap nasıl olabilir? Aşağıda bu cevabın yapamayacağınız şeyi nasıl yapacağınızı açıklayan harika bir cevap var! Kural # 2 için geri düğmesine – mondi

6

Bu, bir AJAX sorunu değil, bir yönlendirme sorunudur. Eğer başka bir araç (öksürük ASP.NET MVC öksürük) kullanılarak olsaydı

, sadece bir rota eklemek istiyorum (ve PHP bunu yapmanın bir yolu var umutluyum)

gibi URL'ler kabul
/home 
/products 
... 

ve iyi bir MVC veya RESTful URL sisteminin dışında kullanıldığında

/index.php?area=home 
/index.php?area=products 

Bu

tipik bir yeniden yazma motoru ile gerçekleştirilir, diyelim ki, onları yönlendirilir. IIS'de ISAPI Rewrite kullanıyorum, ancak LAMP yığında çalışıyorsanız, Apache'nin aynı özellikleri sağlayan bir modül sağladığını düşünüyorum. (Google .htaccess)

UYARI: RANT

  1. kaçının JavaScript ile tüm uygulama yazmaya çalışıyorum, bu değer ne için,

    AŞAĞIDAKİ Ve. Sunucu bir sebepten dolayı orada.Bir web geliştiricisi olarak işinizin bir parçası, işinizi olabildiğince çok sunucunuza emdirmektir. Tarayıcı performansı ve uyumluluk sorunları, istemcide her şeyi yapmaya çalıştığınızda çıldırmanıza neden olacak.

  2. kaçınmak geri yayınları şartlar bir çok mantıklı ama bunu her sayfa için geçerli çalışmalısınız bir gümüş kurşun değil. Bir bağlantı tıklandığında genellikle yeni bir sayfa yüklemek mantıklıdır. O (gerekli altyapının en sunucu tarafı olduğundan) ve aynı şeyi almak için bir AJAX isteği daha değil yavaş olduğunu daha stabil, kullanıcı beklediği.

Kuralları:

  1. geri düğmesine kırmak ASLA. Dikkatli bir planlama olmadan, çoğu AJAX uygulaması bu kuralı bozar.
  2. bakınız kural # 1. Bir rewrite engine ile gerçekleştirilebilir olmalıdır, ancak AJAX kullanmak için iyi bir neden olduğunu varsayarak, sen daha iyisi hashbang karma sonra kısmını değiştirerek javascript ile URL'ler değiştirebilir veya benzeri
+7

1. – shevski

+5

1 kırarak değil – Jonah

+0

Teşekkürler David, ama ne soruyorum değil. Ben çoğunlukla SEO amaçları için htaccess rewrite kullanıyorum. Her neyse, 1 numaralı noktaya katılıyorum, JS + Ajax'ı çok faydalı buluyorum ve bazen çok fazla kullanıyorum.Ama esas olarak CMS'de, ziyaretçi tarafında yok. –

0

http://www.seomoz.org/blog/how-to-allow-google-to-crawl-ajax-content Nasıl Shopify sonra yapar kontrol? Kendi web sitesine gidin Özellikler linke tıklayın ve URL görürsünüz diyor ki:

http://www.shopify.com/tour/sell-online

Sonra alt bağlantılardan birini tıklayın ve göreceksiniz ki kullanmadan URL Değişikliği adres bir karma ama sayfa çevirme yok.

Onların hepsi sayfadaki gizli div 'ler dahil edilecek göründüğü için içeriğini değiştirmek için ajax kullanarak sanmıyorum, ama ne olursa olsun, sen görünüşte istemci tarafı hileler kullanarak URL'yi değiştirebilir.

İlgili konular