Bir karma URL alarak ve yeni bir URL'ye göndermek

4 Cevap php

Örneğin, ben hakkında ve iletişim sayfaları farklı içeriğe çözmek, ancak karma etiketleri aracılığıyla, Kaydımı var istiyorum:

Üç bağlantılar tek bir kayıt, temas ve sayfa hakkında her -

  • www.site.com / index.php # hakkında
  • www.site.com / index.php # kaydı
  • www.site.com / index.php # iletişim

Ayrılan içeriğe bu sayfaları gidermek için Javascript veya PHP kullanarak bir yolu var mı?

4 Cevap

Karma sunucuya gönderilmez, böylece sadece Javascript yapabilirsiniz.

Değerini kontrol location.hash.

Bunu yapmak için hiçbir sunucu tarafı yolu var. AJAX ile işe yarayabilir, ancak bu olmayan javascript kullanıcılar için siteyi kıracak. En iyi yolu muhtemelen sunucu tarafı içerik URL'leri (index.php?page=<page_id>) ve ({[) (1]} için) JavaScript ile bu yerel yeniden yazmak olacak ve AJAX {[(2) ile içerik yükleme ele alabileceğinizi }]. JS-özellikli cihazlar ve herkes için karma-URL'leri olabilir ki yol hala sitesini kullanabilirsiniz.

Eğer PHP ile uygun bir düzen ve her şeyi ile AJAX ve bir kez eklenmesi için bir kez, iki kez aynı içerik sağlamak gerekir çünkü ancak fazlalığı biraz gerektirir.

Eğer sadece estetik nedenlerle URL'leri karma istiyorum, ama JS güvenmek istemiyorsanız, şans bitti. URL'lerin semantik size karşı: fragmanı kimlikleri gerçekten içerik içinde, URL başvurduğu sadece fragmanını içeriğini etkilemez. AJAX URL'leri bu semantik değişiyor, ama bunu yapmak zorunda yoksa bunu yapmak için iyi bir neden var.

Ben muhtemelen iyi bir nedeniniz var herhalde, ama bunu neden ben, sorabilir miyim? Bu URL'leri hashs çalışmak gerekiyordu nasıl yaygın olarak anlaşılamamıştır standart kırar ve onun sadece yolda, diğer müşterilerle birlikte çalışabilirlik için sorun için yalvarıyor.

Sen istenen URL kapmak ve hashtag ayrıştırmak için PHP'nin Küresel $ _REQUEST değişkenleri kullanabilirsiniz ...