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. That provides them with a lever equipped with which probably to remain competitive inside a online publicize. it’s crucial for that traction to have, buy that regime scheme is become much better that was field. specifically government need to do has become create organization environment of the fact that can handle substantial stages of production additionally uniqueness, also energizes opportunity tactics according to output option.

  2. The points you contributed here are quite valuable. It turned out such an enjoyable surprise to have that waiting for me when I woke up this very day. They are always to the point and simple to understand. Thank you for the useful ideas you’ve got shared in this article.

  3. Great – I should definitely pronounce, impressed with your website. I had no trouble navigating through all tabs as well as related info ended up being truly simple to do to access. I recently found what I hoped for before you know it in the least. Quite unusual. Is likely to appreciate it for those who add forums or anything, website theme . a tones way for your client to communicate. Excellent task.

  4. Great write-up, I’m normal visitor of one’s site, maintain up the nice operate, and It is going to be a regular visitor for a long time.

  5. I was looking through some of your content on this website and I think this internet site is really instructive! Continue putting up.

Bir Cevap Yazın

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

 Characters available