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.
Tüm yazanları yapmama rağmen ikinci.php açılmıyor. Neden olabilir?
4/14/2013
Parasızlıktan bende netbookla idare etmeye çalışıyorum, Allah'tan linux antivirüs, antibot vs. istemiyor ve intel atom gibi dandik bi işlemcide bile kabul edilir performansta çalışıyor. Uzatmayayım olaya hakim değilim ama ikinci.phpye yönlenmediği halde wampta çalışıp da lampta çalışmayan scriptler artık çalışıyor. Galiba rewrite aktif oldu, teşekkürler...
3/13/2014