Wordpress’te Permalink Sorunu

Thursday November 22nd 2007, 15:52 pm |   |  Web Teknolojileri | by eser s.

Sorun şu: Wordpress kurdunuz. Permalinks ayarlarını yapıyorsunuz. İstiyorsunuz ki yazılara tıklandığında URL’deki adres http://defter.sahillioglu.net/?p=206 değil de http://defter.sahillioglu.net/archives/wordpresste-permalink-sorunu-206/ şeklinde okunabilir ve anlaşılabilir (Friendly URLs) bir URL adres formatına sahip olsun. Ayarları yapıyorsunuz. Ancak linke tıkladığınızda 404 hatası alıyorsunuz ve yazınızı göstermiyor blogunuz.

Kontrollere başlarsınız: Apache mod-rewrite çalışıyor. Wordpress .htaccess dosyasına gerekli kodları eklemiş. Eeeo, bir sorun görünmüyor. Ama biraz araştırınca farkediyorsunuz ki $is_apache adlı bir değişken var ve permalink yapısını değiştirmek için bunun true olarak set edilmesi gerekiyor. Oysa sizin kurulumunuzda bu false set ediliyor.

Sunucunuzda print_r($_SERVER); ile PHP’nin sunucu değişkenlerini ekrana bastırdığınızda görüyorsunuz ki web sunucunuz Apache olmasına rağmen [SERVER_SOFTWARE] => WebServerX olarak ayarlanmış. Biraz araştırınca da bunun güvenlik amaçlı bir uygulama olduğunu öğreniyorsunuz.

Çözümse son derece basit:
/wp-includes/vars.php dosyasında en sonlarda bulunan //$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || (strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false)) ? true : false; satırını // ile comment’leyip yerine $is_apache = true; satırını ekliyorsunuz ve permalink’leriniz çalışmaya başlıyor. :)


Comments
  • Bu arada permalinklerden bahsetmişken, Wordpress 2.3 serisiyle birlikte permalink canonicalization\’a geçti. Bunun sayesinde diyelim ki sen permalink yapını değiştirdin. Eski linklerden gelen sorgular 404 hatası almadan önce bu yapıdan geçip yeni linklere yönlendiriliyor. Ayrıca bu arada adresler (URL) canonical hale getiriliyor. Misal, http://www.defter.sahillioglu.net/?p=100 -> defter.sahillioglu.net/?p=100 oluyor vs.vs. Bu sayede arama motorları bin bir çeşit farklı linki farklı sayfaymış gibi algılamıyor ve pagerank’e bir nebze fayda sağlıyor.

    Daha detaylı bilgi burada var:
    http://markjaquith.wordpress.com/2007/09/25/wordpress-23-canonical-urls/

    .... Comment by serkan • January 3, 2008 @ 15:17 pm
  • Leave a comment

    [required]

    [required]



    Line and paragraph breaks automatic, e-mail address never displayed,
    HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

    This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

    You must read and type the 5 chars within 0..9 and A..F, and submit the form.

      

    Oh no, I cannot read this. Please, generate a

     
    SHATO Web Hosting Services