Discussion

Linux Apache Rewrite Çalışmıyor

Started by Furko · 25 Aug 2026 22:16 · 13 Views · 0 Replies
Thread Starter #0
Apache web sunucusunda URL yönlendirmeleri yapmak için genellikle mod_rewrite modülünü kullanırız. Ancak bazen bu modül beklenildiği gibi çalışmayabilir. Bu yazıda, Apache Rewrite modülünün çalışmaması durumunu ele alacak ve olası nedenleri ile çözümlerini detaylandıracağım.

Öncelikle, mod_rewrite'in etkin olup olmadığını kontrol etmek önemlidir. Bunun için terminalde aşağıdaki komutu kullanarak modülün durumunu kontrol edebilirsiniz:

CODE
1apache2ctl -M | grep rewrite


Eğer çıktıdaki listede rewrite_module yoksa, modül etkinleştirilmemiş demektir. Bunu etkinleştirmek için şu komutu kullanabilirsiniz:

CODE
1sudo a2enmod rewrite


Daha sonra Apache sunucusunu yeniden başlatmalısınız:

CODE
1sudo systemctl restart apache2


Bir diğer önemli nokta, .htaccess dosyasının doğru konumda ve doğru izinlere sahip olduğudur. Bu dosya, Apache'nin URL yönlendirmelerini yönetmesine olanak tanır. .htaccess dosyasının bulunduğu dizinde aşağıdaki gibi bir içerik olmalıdır:

CODE
12RewriteEngine On
RewriteRule ^eski-url$ yeni-url [R=301,L]


Eğer bu dosya yoksa, oluşturmalısınız. Ayrıca, dosyanın izinlerini kontrol edin, Apache'nin bu dosyaya erişim izni olduğundan emin olun.

Son olarak, Apache yapılandırma dosyasında AllowOverride direktifinin doğru ayarlandığından emin olun. Eğer AllowOverride değeri None olarak ayarlanmışsa, bu durum .htaccess dosyasının etkisiz olmasına neden olur. httpd.conf veya apache2.conf dosyasında ilgili bölüm şu şekilde olmalıdır:

CODE
123<Directory /var/www/html>
    AllowOverride All
</Directory>


Bu ayarları kontrol ettikten sonra, Apache'yi yeniden başlatmayı unutmayın. Bu adımları takip ederek Apache Rewrite modülünün çalışmaması sorununu çözebilirsiniz. Herhangi bir sorun yaşıyorsanız, hata loglarına bakmak da faydalı olabilir. Log dosyaları genellikle /var/log/apache2/error.log konumunda bulunur.

You must be logged in to reply.

0 quotes selected