PHP ve .htaccess: Pratik Kullanım Rehberi

PHP ve .htaccess: Pratik Kullanım Rehberi

PHP 15 Oca 2025 Ahmet Halit DURUSOY Ahmet Halit DURUSOY 6 dakika okuma
Paylaş:

.htaccess Nedir ve Ne İşe Yarar?

.htaccess, Apache web sunucularında kullanılan bir yapılandırma dosyasıdır ve sitenizin işlevselliğini genişletmek için mükemmel bir araçtır. PHP tabanlı projelerde, özellikle URL yönetimi, dosya uzantılarını gizleme, özel yönlendirmeler ve güvenlik ayarları gibi işlemleri kolayca gerçekleştirebilirsiniz. PHP ve .htaccess kombinasyonu, hem kullanıcı dostu hem de arama motoru optimizasyonuna uygun (SEO) siteler oluşturmanızı sağlar.

Örneğin, bir PHP projesinde, karmaşık URL’lerin yerine daha temiz ve profesyonel görünen bağlantılar sunmak, ziyaretçilerinize daha iyi bir deneyim sağlar. Bu sayede web siteniz hem teknik açıdan güçlü olur hem de arama motorlarında daha iyi sıralama elde edebilir.

.htaccess Dosyası Nasıl Oluşturulur?

.htaccess dosyası oluşturmak oldukça basittir. Aşağıdaki adımları izleyebilirsiniz:

  1. Bir Metin Editörü Açın: Notepad, Sublime Text veya VS Code gibi bir editör tercih edebilirsiniz.
  2. Dosyayı Kaydedin: Dosya adını .htaccess olarak kaydedin. Dosya adının başında nokta olduğundan emin olun.
  3. Sunucunuza Yükleyin: Oluşturduğunuz dosyayı web sunucunuzun kök dizinine yükleyin.

Not: Dosya adında herhangi bir uzantı bulunmamalıdır ve dosya ismi tamamen küçük harflerle yazılmalıdır.

PHP ile .htaccess Kullanarak Uzantı Gizleme

Web geliştirme süreçlerinde, kullanıcı dostu URL’ler oluşturmak büyük önem taşır. PHP ile geliştirilen projelerde, .htaccess dosyası yardımıyla URL’lerdeki .php uzantılarını gizleyebilirsiniz. Bu işlem yalnızca estetik bir iyileştirme sunmakla kalmaz, aynı zamanda kullanıcıların web sitenizde gezinirken daha profesyonel bir izlenim edinmesini sağlar.

RewriteEngine On
RewriteRule ^about$ about.php [L]

Bu kodlar, tarayıcıdan example.com/about yazıldığında otomatik olarak about.php dosyasına yönlendirme yapar. PHP ve .htaccess sayesinde, sitenizi ziyaret eden kullanıcılar dosya yapısını görmeden temiz bir şekilde gezinmeye devam edebilir.

Daha fazla sayfa için benzer yapılandırmalar ekleyebilirsiniz:

RewriteRule ^contact$ contact.php [L]
RewriteRule ^services$ services.php [L]

Böylelikle sitenizdeki tüm önemli sayfalar kullanıcı dostu URL’lere dönüşür.

PHP ve .htaccess Kullanarak SEO Dostu URL Yapıları

Arama motorlarında üst sıralarda yer almak için, web sitenizdeki URL’lerin hem temiz hem de SEO uyumlu olması gerekir. PHP ve .htaccess ile karmaşık sorgu parametrelerinden kurtulup daha anlaşılır URL’ler oluşturabilirsiniz.

RewriteRule Nedir?

RewriteRule, bir URL’nin sunucuda farklı bir kaynağa yönlendirilmesi için kullanılan bir direktiftir. Örneğin, eski bir URL’yi yeni bir URL’ye yönlendirmek veya SEO uyumlu bir yapı oluşturmak için kullanılabilir.

SEO Dostu URL Yapısı Örneği

Varsayılan bir ürün sayfası URL’si şu şekilde görünebilir:

example.com/product.php?id=123

Bu URL, kullanıcılar ve arama motorları için pek çekici değildir. Daha etkili bir görünüm için şu şekilde düzenlenebilir:

example.com/product/123

Bu yapılandırmayı gerçekleştirmek için .htaccess dosyasına şu kodları ekleyebilirsiniz:

RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [L]

Bu şekilde hem kullanıcı deneyimini iyileştirir hem de sitenizin SEO performansını artırırsınız.

PHP ve .htaccess Kullanarak 301 Yönlendirmesi

Bir web sitesinde sayfaların taşınması veya URL yapısının değiştirilmesi durumunda, eski sayfaları yeni sayfalara yönlendirmek gerekir. PHP ve .htaccess kullanarak, 301 yönlendirmesi adı verilen kalıcı bir yönlendirme yapabilirsiniz.

301 Yönlendirme Kodları

Redirect 301 /old-page /new-page

Bu kod, example.com/old-page adresini ziyaret eden kullanıcıları otomatik olarak example.com/new-page adresine yönlendirir. Bu işlem, hem kullanıcı deneyimini bozmadan sitenizi güncel tutmanızı sağlar hem de arama motorlarının eski URL’lerin yerine yenilerini indekslemesine yardımcı olur.

WordPress ve .htaccess Kullanımı

WordPress gibi içerik yönetim sistemleri (CMS), .htaccess dosyasını otomatik olarak kullanır. Ancak, PHP bilgisine sahipseniz bu dosyayı özelleştirerek WordPress sitenizin performansını artırabilirsiniz.

WordPress Standart .htaccess Örneği

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

Bu kod, WordPress’in SEO uyumlu permalink yapısını destekler ve sitenizin düzgün çalışmasını sağlar. Eğer özel yönlendirmeler eklemek isterseniz, bu dosyaya yeni kurallar ekleyebilirsiniz.

PHP ve .htaccess ile Güvenlik Ayarları

PHP tabanlı projelerde güvenlik, en önemli konulardan biridir. .htaccess dosyası, sitenizin güvenliğini artırmak için çeşitli araçlar sunar.

IP Engelleme

Belirli bir IP adresinin sitenize erişmesini engellemek için şu kodları kullanabilirsiniz:

<RequireAll>
    Require all granted
    Require not ip 123.123.123.123
</RequireAll>

Bu kod, 123.123.123.123 IP adresine sahip kullanıcıların sitenize erişmesini engeller.

Dizin Listelemesini Devre Dışı Bırakma

Eğer bir dizinde indeksleme yapılmasını istemiyorsanız, aşağıdaki kodu ekleyerek dizin listelemesini devre dışı bırakabilirsiniz:

Options -Indexes

Bu basit işlem, PHP ve .htaccess ile projelerinizde güvenliği artırmanın etkili bir yoludur.

PHP İle Örnek Index Sayfası Oluşturma

Web sitenizin ana sayfasını belirlemek için genellikle index.php dosyası kullanılır. Ancak sunucuda birden fazla dosya varsa, hangisinin öncelikli olacağını .htaccess ile tanımlayabilirsiniz.

DirectoryIndex index.php index.html

Bu kod, sunucunun varsayılan olarak index.php dosyasını kullanmasını sağlar. Eğer PHP ile geliştirilen bir ana sayfa kullanıyorsanız, bu yöntem oldukça faydalıdır.

PHP ve .htaccess ile Önbellekleme

Sitenizin hızını artırmak için .htaccess ile tarayıcı önbellekleme ayarlarını yapılandırabilirsiniz. Bu, PHP projelerinde kullanıcı deneyimini iyileştiren bir yöntemdir.

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 year"
</IfModule>

Bu kod, belirli dosya türlerinin tarayıcıda ne kadar süre önbellekte tutulacağını belirler ve sitenizin daha hızlı yüklenmesini sağlar.

Örnek Bir .htaccess Dosyası

Aşağıda, birden fazla özelliği içeren örnek bir .htaccess dosyası bulunmaktadır:

# URL uzantılarını gizle
RewriteEngine On
RewriteRule ^about$ about.php [L]
RewriteRule ^contact$ contact.php [L]

# Eski URL'yi yeni URL'ye yönlendir
Redirect 301 /old-page /new-page

# IP engelleme
<RequireAll>
    Require all granted
    Require not ip 123.123.123.123
</RequireAll>

# Önbellekleme
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 year"
</IfModule>

Bu dosya, uzantı gizleme, yönlendirme ve önbellekleme gibi işlemleri bir arada gerçekleştirebilir.

İlgili Etiketler

Çerez Ayarları

Deneyiminizi iyileştirmek için çerezler kullanıyoruz. Daha fazla bilgi için Çerez Politikamızı ziyaret edin.