Wordpress’te Permalink Sorunu
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.