Ne şekilde Wordpress sayfası URL'leri yeniden yazmak mı?

2 Cevap php

Geçenlerde Wordpress yazının yapısı ilgileniyorum.

Onlar (wp_posts) adında bir tablo kullanın ve bu tabloda onlar gibi 3 ile ilgili alanlar kaydedildi:

post_title
post_name
guid 

It's clear that they save title of each story in post_title field , and slugs in post_name , and full url of a post in guild filed .

Nerede cehennem ama, onlar tarayıcılarda görünür şekilde bu adresler yeniden yazın:

http://localhost/wordpress/about/

Bunun için hiçbir htaccess kural yoktur!

Ben rewrite.php kontrol ve bir santim anlamadı?!

i almalı ne adımlar, benzer sayfaları oluşturmak gerekiyor!?

2 Cevap

. Htaccess dosyası index.php tüm istekleri gönderen bir yönergesi yeniden vardır. Yeniden yazma yönergesi yönlendirme olmadan farklı bir konuma özgün isteği geçmek için web sunucusu söyler. Yani, index.php ("/ about /", örneğin bilgisayar adından sonra URL kısmı,) istek yolu dahil olmak üzere tüm orijinal parametreleri alır.

Index.php bir istek aldığında, nasıl URL tabanlı yanıt bulmaktan, bir ön denetleyicisi gibi davranır.

Ben bu yüzden bunu hayata tam olarak nasıl diyemeyiz WordPress'in iç işleyişini hiç bakmadım, ama index.php için genel bir fikir şudur:

  1. Istek yolu bakmak (örneğin, "/ about /") bu kullanılan istemci
  2. Istek yolu bir sümüklü böcek Extract ("ilgili")
  3. "Hakkında" sülük sahip sonrası hangi Look up
  4. Uygun yazı dön

Eğer WP_Rewrite sınıfı incelemek eğer bir çok soru açıklanacaktır.

Size en söylediğimiz gibi temelde, .htaccess sadece bir gerçek dosya gidermek veya index.php için sunucuda klasörü olmayan tüm URL'leri yeniden yazar.

WordPress anahtarları ve değerleri bir dizi yeniden yazma kuralları listesi, karşı URL'yi eşler. Anahtar normal bir ifadesidir ve değeri haritalar back references parametre dize.

Örneğin, bir yeniden yazma kuralı;

category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'

Sonra WP ile birlikte sınıf WP_Query parametreleri alır ve isteği işlemek.