mod_rewrite etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
mod_rewrite etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Ubuntu mod_rewrite aktif etmek (kurulumu)

Daha önceki yazımda Ubuntu üzerinde LAMP nasıl kurulur bahsetmiştim. Şimdi ise Ubuntu üzerinde apache mod_rewrite modül kurulumunu, mod_rewrite'ı local sunucumuzda nasıl aktif ediceğimizi anlatıcam.

Apache 2 yi kurduğumuz /etc/apache2/ dizinine gittiğimizde içerisinde mods-available ve mods-enabled isminde iki adet dizin ile karşılaşırız. mods-enabled dizini içerisinde aktif olan modüller bulunmaktadır. Local Linux sunucumuzda bir php dosyayı oluşturup içerisine phpinfo(); fonksiyonunu yazıp sonrasında ise bu dosyayı çalıştırdığımızda apache2handler başlığı altında Loaded Modules leri yani kurulu modülleri görebiliriz. İşte Apache web serverımız için kullandığımız modüller mods-enabled dizini içerisinde bulunmaktadırlar.


Peki /etc/apache2/mods-available klasörü nedir? Burada ise kullanabileceğimiz diğer modül dosyaları bulunmaktadır. Local Linux sunucumuzda Apache mod_rewrite modülünü aktif etmek için bu klasör içerisindeki rewrite.load dosyasını kullanıcaz.

Yapacağımız işlem sadece rewrite.load dosyasını mods-enabled dizinine kopyalamak ve Apache web serverımızı restart etmek. Bu işlem için uçbirimden girmeniz gereken komutlar aşağıda.

sudo cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled

sonrasında ise

sudo /etc/init.d/apache2 restart

Hatırlayın içerisinde phpinfo(); olan bir adet php dosyası oluşturmuştuk. Onu tekrar çalıştırın ve apache2handler başlığı altındaki Loaded Modules bölümüne bakın.



Ubuntu üzerindeki local linux web serverımız için mod_rewrite modülünü aktif ettik. Hadi o zaman ufak bir test yapalım :) /var/www içerisinde bir klasör oluşturun daha sonra içerisine iki adet dosya ekleyin. İsimleri ilk.php ve ikinci.php olsun. mod_rewrite için .htaccess oluşturalım ve içerisine

RewriteEngine On #Yeniden yazma Rewrite modülünü aç
RewriteRule ^ilk.php$ ikinci.php #Rewrite Kuralımız

Kodlarını ekleyelim. Şuan adres çubuğundan http://localhost/dizin/ilk.php yazdığımızda ikinci.php dosyasının çalışması lazım. Fakat test ettiğinizde bunun öyle olmadığını göreceksiniz. :) Heyecan yok. Virtual Hosting ve sadece localhost (127.0.0.1) üzerinde /var/www çalıştığımız için uçbirimden 000-default dosyasını açıp AllowOverride None satırlarını AllowOverride all olarak değiştiricez. Uçbirimden aşağıdaki komutu ve root şifrenizi girdikten sonra gerekli düzenlemeleri yaparak tekrar apache web serverımızı resetleyelim.

sudo gedit /etc/apache2/sites-enabled/000-default

Artık browserımızdan http://localhost/dizin/ilk.php yazdığımızda ikinci.php sayfasının açıldığını göreceksiniz.

2 Yorum