Apache mod_rewrite Modülü Kurulumu Nasıl Yapılır?

Apache‘nin mod_rewrite modülü URL bağlantılarını manipüle etmenin etkili ve kolay bir yoludur. URL manipülasyonu sunucu tarafından yapılmaktadır. Basitçe anlatmak gerekirse mod_rewrite ile temiz ve kullanıcı dostu URL’ler web sitelere dönüştürülür. Adından da anlayabileceğiniz gibi URL’de yeniden yazma işlemi yapar. Web sitenizin URL’lerini temizlemek için harika bir yoldur. Bu makalede mod_rewrite nedir, neden kullanışlıdır ve Apache mod_rewrite modülü kurulumu VPS üzerinde nasıl yapılır göstereceğiz!

Apache mod_rewrite Nasıl Çalışır?

Bir kullanıcı bir URL girdiğinde, URL önceden belirlenmiş kurallar listesine göre kontrol edilir. Kurallar belirli kalıpları veya anahtar kelimeleri aramak için vardır. Eğer URL’de anahtar kelime mevcutsa ve kurala uyuyorsa önceden belirlenmiş bir dizi yani URL ile değiştirilir.

mod_rewrite’ı Kullanışlı Yapan Nedir?

mod_rewrite’ın sunduğu en büyük avantaj URL’leri temiz URL’lere çevirebilmesidir. Bu da teknolojiyle arası pek olmayan uçtaki kullanıcı tarafından kolaylıkla anlaşılabilir.

Bu URL’ler oldukça kullanıcı ve arama dostudur. Arama motorları bu URL’leri daha hızlı algılar. Temiz URL derken kastımız ne? Bu örnekle anlayacaksınız:

  1. URL1: http://modrewriteornegi.com/client.php?id=A786#234QA
  2. URL2: http://modrewriteornegi.com/client/=A786#234QA/
  3. URL3: http://modrewriteornegi.com/client/Martha/

Yukarıda listelenen üç URL’den çıkarabileceğimiz sonuç uçtaki kullanıcıya üçüncünün ilk ve ikinciden çok daha fazla okunabilir ve anlaşılabilir olduğudur. Bu örneğe göre URL3 temiz bir URL’dir.

Linux VPS’de Apache mod_rewrite Modülü Kurulumu Nasıl Yapılır?

Unutmayın ki başlamadan önce SSH kullanarak VPS’inize erişmeniz gerekmektedir! Eğer sorun yaşıyorsanız PuTTY rehberimizi okuyabilirsiniz. Hadi bu işleme başlayalım:

1. Install Apache

Bu örneğimiz için Ubuntu 18.04 kullanacağız. Yerleşik paket yükleyicisi bulunmaktadır – apt-get. İlk olarak bu komutu kullanarak güncelleme yapın:

sudo apt-get update

Şimdi apache2 kurulumuna devam edebilirsiniz:

Kurulum için gereken komut:

sudo apt-get install apache2

2. mod_write Aktif Etme

Şimdi ise mod_write aktif etme nasıl yapılır göstereceğiz.

Aktif etmek için gereken komutsa:

sudo a2enmod rewrite

Yukarıdaki komut mod_write modülünü aktif edecek veya zaten kullanımdaysa size bildirecektir. Bundan sonra Apache’yi yeniden başlatın:

sudo service apache2 restart

3. .htaccess Dosyasını oluşturun

URL yeniden yazma kuralları önceden belirlenmiş olmalıdır. İşte burada .htaccess yardımınıza gelecektir. Bütün kuralları .htaccess dosyasına yazabilirsiniz. Bu dosya sunucu tarafından kullanılmaktadır. Bu dosyada hiçbir hata olmamalıdır aksi takdirde sunucu hatası alırsınız. Yeniden yazma kurallarını istediğiniz zaman düzenleyebilirsiniz.

.htaccess dosyası yeniden yazma fonksiyonelliğini test etmek için kökte oluşturulmalıdır.

İlk önce aşağıdaki komutu çalıştırın:

sudo nano /var/www/html/.htaccess

Bu eğer henüz bulunmuyorsa .htaccess dosyasını oluşturacak eğer zaten varsa olan dosyayı açacaktır. Şimdilik kaydedip çıkabilirsiniz. Nano’da bunu CTRL+O tıklayarak kaydedebilir ve CTRL+X ile de çıkabilirsiniz.

Şimdi ise /etc/apache2/sites-enabled/ dizininde bulunan 000-default.conf dosyasını açın. Aşağıdaki komutla bunu yapabilirsiniz:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Bu dosyanın içinde <VirtualHost *:80> dizisinin altına aşağıdaki sütunu kopyalayıp yapıştırın:

<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow, deny
allow from all
</Directory>

.htaccess ile yaptığınız gibi dosyayı kaydedin. Yukarıdaki değişikliklerin etkisini göstermesi için ikinci aşamada belirttiğimiz gibi Apache’yi yeniden başlatın.

4. URL Yeniden Yazma

URL yeniden yazma basit olarak temiz URL’yi alır ve onları koda giden yollara çevirir. Sahip olması gereken şeylerse:

  • Önceden belirlenmiş yeniden yazma kuralı
  • Bir kalıp – sunulan kalıp kullanıcı tarafından girilen URL ile uyumlu referans olarak çalışacaktır
  • Yeniden yazma satırları – işlem sırasında sunucu tarafından istenmesi gereken yolu belirleyecektir

Şimdiyse örnek olarak bir kullanıcıyı Hakkimizda.html adlı bir sayfaya yönlendirecek yeniden yazma kuralı yazacağız. İstenen URL http://ip/Hakkimizda.

Yeniden yazma kuralını başarıyla çalıştırmak için yeniden yazma motoru aktif olmalıdır. Aşağıdaki komutu .htaccess dosyasının başına girin:

RewriteEngine on

Sıradaki ise örneğimizin kuralı olacaktır:

ReWriteRule ^About_us$ Hakkimizda.html [NC]

Bu sözdizimi biraz kafa karıştırıcı olabilir ancak oldukça basittir:

  • Yukarıdaki kuralda About_us kalıptır, bulunduğunda ve eşlendiğinde Hakkımızda.html‘e yönlendirilecektir
  • NC ise büyük-küçük harfe duyarlı olmaması kuralını belirleyen bayraktır
  • ^ ise IP adresinden sonraki metnin eşlenmiş olduğunu belirtir

Bu iki satırın birleşimi .htaccess dosyasında böyle gözükecektir:

ReWriteEngine on
ReWriteRule ^About_us$ Hakkimizda.html [NC]

İşte bu kadar! Başarıyla bir mod_rewrite kuralı yaratmış oldunuz!

Sonuç

Kolay, temiz ve kullanıcı dostu bir URL herhangi bir başarılı web site için önemli bir rol oynar. Anahtar kelimelere sahip olmak sadece hatırlanabilir URL’ler için değil SEO için de önemlidir! Yaratabileceğiniz ve yazabileceğiniz yüzlerce kural mevcuttur. Artık apache mod_rewrite modülü kurulumu nasıl yapılır biliyorsunuz. Umuyoruz ki apache mod_rewrite modülünü iyi bir şekilde kullanabilirsiniz! Düşünceleriniz ve yorumlarınızı aşağıdaki yorumlar kısmında bizimle paylaşabilirsiniz!

Author
Yazar

Gökhan O.

Gökhan Hostinger’da YouTube Takım Lideri olarak çalışmakta. WordPress hakkındaki tecrübe ve bilgisini bu blogda paylaşıyor. Hostinger’ın adını YouTube içeriği üzerinden duyurmayı kendine görev edinmiştir. Hobileri arasında oyun oynamak ve futbol maçları izlemek vardır.