Bursa Bilgisayar

Lighttpd Kullanan Sunucularda .Htaccess Nasıl Düzenlenir

Merhaba arkadaşlar kilit bir konu olduğu için yazma gereği duydum biliyorsunuz lighttpd kullanan sunucularda .htaccess dosyasını olduğu gibi kullanamıyoruz değiştirmek zorunda kalıyoruz bu değişiklik için bir çok makale gezebilirsiniz türkçe kaynak nerdeyse yok gibi ingilizce kaynaklarda bile yeterince değinildiğini düşünmüyorum burada size birkaç örnek vererek lighttpd kullanmak isteyen arkadaşların .htaccess sorununa çözüm bulmak istediğimden bu makaleyi yazma ihtiyacı hissettim.

Burada ben özellikle 3 farklı örnek göstereceğim ilk örneğimiz karşılaştırma halidir.

WordPress .htaccess içeriği;

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

WordPress lighttp içeriği

not: url.com yazan yere www ve nokta işareti olmadan site adınızı yazıyorsunuz.

$HTTP["host"] =~ "url.com" {
url.rewrite-once = (
"^/(wp-.+).*/?" => "$0",
"^/(sitemap.xml)" => "$0",
"^/(xmlrpc.php)" => "$0",
"^/keyword/([A-Za-z_0-9\-]+)/?$" => "/index.php?keyword=$1",
"^/.*?(\?.*)?$" => "/index.php$1"
)
}

İkinci örneğimiz Örümcek oyun sitesi için örnek teşkil edecek.

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^kategori/(.*).html$ index.php?kategori=$1 [L,NC]
RewriteRule ^etiket/(.*) index.php?etiket=$1 [L,NC]
RewriteRule ^oyun/(.*).html$ index.php?oyna1=$1 [L,NC]
RewriteRule ^oyna/(.*).html$ index.php?oyna1=$1 [L,NC]
RewriteRule ^(.*).html$ index.php?oyna=$1 [L,NC]

Örümcek oyun lighttp içeriği.

$HTTP["host"] =~ "url.com" {
url.rewrite = (
"^/kategori/(.*).html$" => "/index.php?kategori=$1",
"^/etiket/(.*)" => "/index.php?etiket=$1",
"^/oyun/(.*).html$" => "/index.php?oyna1=$1",
"^/oyna/(.*).html$" => "/index.php?oyna1=$1",
"^/(.*).html$" => "/index.php?oyna=$1",
)
}

Aslında sınırsız örnek verebilirim ben mantığını anlamanız için iki farklı örnek vermek istedim.Ayrıntısını örneklerini inceleyerek deneme yanılma yaparak sizler çözebilirsiniz diye düşünüyorum aslında .htaccess yazabilen kişiler için çocuk oyuncağı diyebilirim.

Bilmeniz gereken önemli fark ise sizin adresleriniz

(.*).html$ bu şekilde iken başına /(.*).html$ / işareti alarak düzenlenecektir bu şekilde yapmazsanız adresleriniz çalışmaz.

Gelelim ana konumuza dizinden .htaccess dosyalarınız lighttp kurulumu sonrası çalışmayacaktır.Paneller ile bütünleşik sistem kurduysanız kendi paneliniz içerisinden yok direk manual kurulum oldu ise alt bölümde vereceğim adresi editörünüzle açıp en alt bölümde boş bir satıra gelin ve her içerik birbirinin altına gelicek şekilde .htaccess içeriğinizi burada oluşturun.

$HTTP[“”] =~ “1url.com” {
url.rewrite = (
“^/kategori/(.*).html$” => “/index.php?kategori=$1”,
“^/etiket/(.*)” => “/index.php?etiket=$1”,
“^/oyun/(.*).html$” => “/index.php?oyna1=$1”,
“^/oyna/(.*).html$” => “/index.php?oyna1=$1”,
“^/(.*).html$” => “/index.php?oyna=$1”,
)
}
$HTTP[“host”] =~ “2url.com” {
url.rewrite = (
“^/kategori/(.*).html$” => “/index.php?kategori=$1”,
“^/etiket/(.*)” => “/index.php?etiket=$1”,
“^/oyun/(.*).html$” => “/index.php?oyna1=$1”,
“^/oyna/(.*).html$” => “/index.php?oyna1=$1”,
“^/(.*).html$” => “/index.php?oyna=$1”,
)
}

Düzenleyeceğiniz dosyanın ismi

/etc/lighttpd/lighttpd.conf
nano /etc/lighttpd/lighttpd.conf

Düzenleme sonrası kayıt edip çıktığınızda lighttp’yi yeniden başlatıyorsunuz.

service lighttpd restart

sorun var ise yeniden başlat komutu verdiğinizde ekranda size sorun olup olmadığını söyler yok ise doğru yapabildi iseniz sorunsuz olarak çalışacaktır.

Daha ayrıntıya inmek gerekirse

En ustteki satır yani $HTTP[“host”] =~ “url.com” kısımlı yer hangi adreste etkili olacağı. 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

Bol performanslı günler dilerim. www.hostingtc.com Sistem mühendisi Yunus Emre Talay.

Related posts

263 thoughts on “Lighttpd Kullanan Sunucularda .Htaccess Nasıl Düzenlenir

  1. please pay a visit to the websites we stick to, such as this 1, because it represents our picks through the web

  2. Good article. I am experiencing a few of these issues as well..

  3. Way cool! Some extremely valid points! I appreciate you writing this write-up plus the rest of the site is extremely good.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Characters available