Ehocam.Com
6Jul/105

IIS6 Üzerinde WordPress SEF Link Yapmak

Merhaba arkadaşlar, bu yazımda IIS 6 üzerinde wordpress sef link yapmayı anlattım. Bildiğimiz üzere WordPress sistemlerinin sef link yapması için apache kurulu bir makine gerekiyor. Bu yazımda 404 sayfa yönlendirmeler sayesinde, wordpress blogunuza sef link yapabileceksiniz.

  • Video için gerekli araçlardan birisi 404 dosyasıdır. Bunun içeriÄŸini burada veriyorum. Ayrıca alt bölümde rar içinde de paylaÅŸtım.
<?php
// This is the default file for the site. Usually index.php
$default = 'index.php';

// The name of this file.
// Set this value for the URL in Custom Error Properties of your website in IIS.
// Goto: IIS Manager > Websites > [Site Name] > Properties > Custom Errors >
// 404 & 404;2 & 404;3 > URL (Requires a '/' prefix in IIS).
$thisfile = '404-handler.php';

$_SERVER['ORIG_PATH_TRANSLATED'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_TRANSLATED']);
$_SERVER['SCRIPT_FILENAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_FILENAME']);
$_SERVER['ORIG_PATH_INFO'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_NAME']);
$_SERVER['PHP_SELF'] = str_replace($thisfile, $default, $_SERVER['PHP_SELF']);
$_SERVER['PATH_INFO'] = false;

$qs =& $_SERVER['QUERY_STRING'];
$ru =& $_SERVER['REQUEST_URI'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['URL'] = $ru = substr($qs, $pos);
$qs = trim(stristr($ru, '?'), '?');

// Required for WordPress 2.8+
$_SERVER['HTTP_X_ORIGINAL_URL'] = $ru;

// Fix GET vars
foreach ( $_GET as $var => $val ) {
  if ( substr($var, 0, 3) == '404') {
    if ( strstr($var, '?') ) {
      $newvar = substr($var, strpos($var, '?') + 1);
      $_GET[$newvar] = $val;
    }
    unset($_GET[$var]);
  }
  break;
}
include($default);
?>

Yukarıda ki dosyayı 404-handler.php olarak kaydedip, blogunuzun ana dizinine atmalısınız.

Ben video üzerinde sadece 404 hata sayfasını yönlendirmişim. Bu şekilde çalışmakla beraber, kod içinde de not olarak girilmiş olan 404 & 404;2 & 404;3 sayfalarını da yönlendirmenizi öneririm.

  • WordPress'de kalıcı baÄŸlantılar (permalinks) bölümünde girebileceÄŸiniz sef link örnekleri aÅŸağıdadır. Videoda kullanılan ve çoÄŸunlukla önerilen format ise,

/%year%/%monthnum%/%day%/%postname%.html

budur. Ayrıca wordpress üzerinde kullanabileceğiniz sef link şekillerine buradan ulaşabilirsiniz.

%postname% : yazının başlığını verir. Örneğin "IIS6 üzerinde sef link yapmak" başlığı otomatik olarak "iis6-uzerinde-sef-link-yapmak" olarak değiştiriliyor. Başlığı uzun tutmayıp, makalenizin içeriğini yansıtmasına dikkat etmelisiniz.

%year% : yazının tarihini verir. 4 hanelidir. Örnek : 2010

%monthnum% : yazının ayını verir. Örnek : 07

%day% : yazının gününü verir. Örnek : 06

%hour% : yazının yazıldığı saati verir. Örnek : 18

%minute% : yazının yazıldığı dakikayı verir. Örnek : 50

%second% : yazının yazıldığı saniyeyi verir. Örnek : 05

%post_id% : yazının veritabanında tutulduğu id değerini verir.

%category% : yazının kategorisini verir.

%tag% : yazının etiketlerini verir.

%author% : yazıyı yazan yazarın adını verir.

IIS6 - SEF Link Icin 404 Dosyasi (147)

IIS6 - SEF Link - Sunum (62)

Yararlandığım kaynaklar :

http://codex.wordpress.org/Using_Permalinks

http://timheuer.com/blog/archive/2010/05/11/running-wordpress-on-windows-server-2003.aspx

http://tech.einaregilsson.com/2007/07/30/pretty-wordpress-permalinks-on-iis/

http://ikailo.com/94/url-modrewrite-workaround-iis-60/


Comments (5) Trackbacks (0)
  1. Yazı için çok teşekkürler ancak ben sitemi /blog/ klasörü altında çalıştırıyorum ve blog içinde hangi linke tıklanırsa tıklansın blog anasayfası görüntüleniyor. cers.com.tr/blog adresinden görebilirsiniz. bununla ilgili bana yardımcı olabilir misiniz?

  2. 404 hata dosyası içeriğini değiştirerek çözüm buldum teşekkürler.

  3. Bende düzenlemeyi 404 den yapın diyecektim. İyi Çalışmalar.

  4. Bu yöntemi denedim herşey güzel fakat wordpress de site ismimi girip açtığımda (www.xxxxxx.com) sayfam 404 hatası (www.xxxxxx.com/index.php) bu şekilde açtığımda ise ana sayfam düzgün açılıyor yani index page ime yönlenmiyor sayfam. Ugly url sorunu çözüldü ama böyle birşeyle karşılaştım mutlaka benim bir hatamdan kaynaklanıyordur bu konuda bilginiz varsa yardımcı olursanız sevinirim.

  5. Sorunu buldum, plesk panelden Web Hosting Settings / PHP support FastCGI application secmek gerekliymis bende isapi seciliymis.


Leave a comment


No trackbacks yet.