Hosgeldiniz
Ben Kimim?

C.V.
Bilgi paylaþtýkça çoðalýr.Ýþte ispatý,
bende var bir elma, sende var bir elma, gel elmalarý deðiþelim; bende var bir elma, sende var bir elma.

Þimdi bende var bir bilgi, sende de var bir bilgi, gel bilgileri deðiþelim; bende oldu iki bilgi, sende oldu iki bilgi.Nasýl güzel deðilmi?...

Ben bilgilerimi ortaya koyuyorum benimle bilgi zengini olmak istermisiniz?..



Kategoriler


Site nasýl olmuþ?
Daha iyi olabilirdi
Ýdare eder
Güzel
Süper
Süper ötesi...
     
Anket
Lighttpd rewrite kurallarý tanýmlamak
8 Yil öncesi . . .
rewrite .htaccess lighttpd permalink

Geçenlerde vps aldım. İşletim sistemini kurduğumda içinde ligthttpd web sunucu olarak yer alıyordu. Apache de adresleri seo yapmak için .htaccess dosyasını kullanıyorduk. Lighttpd de ise öyle birşey yok. Tüm sayfalarımda 404(yani sayfa bulunamıyor) hatası alıyordum.

Bir günlük apacheye dönme çabalarımın ardından(tabiki beceremedim) lighttpd de seo kurallarını nasıl tanımlarız onu araştırdım netten.

Öncelikle bunu ben kendi VPS linux da yani CENTOS 5.1 de denedim. Ama diğer linux versiyonlarında da aynıdır. Tabi lighttpd kullanılıyorsa. Şimdi öncelikle yapacağımız iş console da admin yetkisiyle giriş yapıp sonra;

vim etc/lighttpd/lighttpd.conf

komutunu giriyoruz. vim bizim text editorumuz. Aynen pico gibi. Burada en son satıra gidip şu satırları ekliyoruz:

$HTTP["host"] =~ "rapidshare.linksfinger.net" {
url.rewrite = (
"^/index.html$" => "/index.php",
"^/search.html$" => "/search.php",
"^/index-(.*).html$" => "/index.php?page=$1",
"^/search-(.*)_page(.*).html$" => "/search.php?search=$1&page=$2",
"^/search_(.*).html$" => "/search.php?search=$1&page=$2",
"^/(.*)-(.*).html$" => "/detail.php?id=$2"
)
}

en ustteki satır yani $HTTP["host"] =~ "rapidshare.linksfinger.net kısımlı yer hangi adreste etkili olacağı. Ben burada subdomainde etkili olmasını istediğim için bu şekilde girdim. Sonrasında url.rewrite yazarak kuralları belirlemeye başlıyoruz.

"^/index.html$" => "/index.php" bunun anlamı eğer adrese index.html girildiyse bunu index.php yap.
"^/search.html$" => "/search.php" bunun anlamı search.html girildiyse adrese bunu search.php gibi algıla.
"^/index-(.*).html$" => "/index.php?page=$1" bunun anlamı index-herhangiBirsey.html girildiyse bunu index.php?page=herhangiBirsey şekline çevir. Burada (.*) buraya gelecek hersey $1 temsil ediyor.
(.*)-(.*).html$" => "/detail.php?id=$2" bunun anlamiysa herhangiBirsey1-herhangiBirsey2.html girildiyse, bunu detail.php=id=herhangiBirsey2 olarak algila demek istiyoruz. Burada ilk bolumdeki (.*)-(.*) kisimda bildigimiz gibi 2 tane tanimlama kullaniyoruz. ilk (.*) icin $1, ikinci (.*) için $2 kullanıyoruz.

rapidshare.linksfinger.net için bu kuralları tanımladıktan sonra başka bir site için tanımlama yapmak istersek kapattığım küme parantezini(}) sonuna bir iki tane enter yapıp tekrar

$HTTP["host"] =~ "rapidshare.linksfinger.net" {
url.rewrite = (
kurallarımızı yazıp
)
}

ekliyoruz. bunları ekledikten sonra bu dosyayı kayıt etmemiz lazım vim editöründe bunu yapmak için önce ESC tuşuna basıyoruz. Sonrasında aşağıdaki satırı yazıyoruz:

:w
:q

:w anlamı write(yani kaydet) demek.
:q anlamı ise quit(yani Çık) demek.
bu noktada eğer lighttpd.conf dosyasında yanlışlıkla değişiklik yaptıysanız ve kayıt etmeden çıkmak istiyorsanız yine ESC tuşuna basıp
:q!
yazmanız gerekli.

bunları yaptıktan sonra lighttpd web sunucumuza kurallarımızı tanıtmış oluyoruz ama henüz kurallar aktif değil. Aktifleştirmek için lighttpd sunucumuzu yeniden başlatmamız gerekiyor. Onun içinde yine konsoldan(console) şu komutu girecez:

/etc/init.d/lighttpd restart

bunu yazdıktan sonra altında iki satır yazı çıkacak ve bu satırların sonunda OK yazısını görürseniz herşey tamam demektir. Şimdi kurallarınızı doğru tanıtıp tanıtmadığınızı görebilirsiniz.

Şimdilik bu kadar. Benimle Kalın. . .

                    Toplam Puan:28

YORUMLAR Yorum Yaz


kemal turka 7/23/2010 | 19:22
eywallah