Apache’nin mod_rewrite modülü, URL manipülasyonu için mevcut en güçlü modüllerden biridir. mod_rewrite ile URL’leri yeniden yönlendirebilir, daha temiz hale getirmek için URL’leri yeniden yazabilir ve çok daha fazlasını yapabilirsiniz. Özellikle web sitenize SEO dostu URL yapılarını uygulamak için kullanışlıdır. Bu makalede, hem Debian tabanlı hem de RHEL tabanlı sistemlerde Apache’de mod_rewrite’ın nasıl etkinleştirileceği konusunda size yol göstereceğiz.
1. mod_rewrite’ın Zaten Etkin olup olmadığını kontrol edin
mod_rewrite’ı etkinleştirmeden önce, zaten etkin olup olmadığını kontrol etmek iyi bir fikirdir:
apache2ctl -M | grep rewrite
VEYA
httpd -M | grep rewrite
‘rewrite_module (shared)’ ifadesini görüyorsanız mod_rewrite zaten etkindir.
2. mod_rewrite’ı etkinleştirme
Şimdi işletim sisteminize bağlı olarak Apache web sunucusunda mod_rewrite modülünü etkinleştirin.
Debian Tabanlı Sistemlerde (Ubuntu gibi):
Bu adımları Ubuntu, Debian, Linux Mint sistemleri gibi Debian tabanlı sistemlerde kullanın.
- Apache’yi yükleyin (henüz kurulmamışsa):
sudo apt update
sudo apt install apache2
- mod_rewrite’ı etkinleştirin:
sudo a2enmod rewrite
- Değişiklikleri uygulamak için Apache’yi yeniden başlatın:
sudo systemctl restart apache2
RHEL Tabanlı Sistemlerde (CentOS gibi):
Fedora, CentOS, Scientific Linux, Amazon Linux ve RedHat sistemleri gibi RHEL tabanlı sistemlerde bu adımları kullanın.
- Apache’yi yükleyin (henüz kurulmamışsa):
sudo yum install httpd
- Mod_rewrite’ı etkinleştirme: Modül genellikle RHEL tabanlı sistemlerde varsayılan olarak etkinleştirilir. Değilse Apache yapılandırmasını düzenleyerek manuel olarak yükleyebilirsiniz. Ana Apache yapılandırma dosyasını vi veya nano gibi bir metin düzenleyici kullanarak düzenleyin:
sudo nano /etc/httpd/conf/httpd.conf
Ardından, aşağıdaki satırın mevcut olduğundan ve yorumlanmadığından emin olun:LoadModule rewrite_module modules/mod_rewrite.so
- Değişiklikleri uygulamak için Apache’yi yeniden başlatın:
sudo systemctl restart httpd
3. mod_rewrite için .htaccess’i yapılandırma
mod_rewrite kurallarının .htaccess dosyalarından çalışması için dizin yapılandırmalarının geçersiz kılmaya izin verdiğinden emin olmalısınız.
Apache yapılandırma dosyasında (genellikle Debian tabanlı sistemlerde /etc/apache2/apache2.conf veya RHEL tabanlı sistemlerde /etc/httpd/conf/httpd.conf), web sitenizin belge köküne ilişkin bölümü bulun ve ` AllowOverride` direktifi:
<Directory /var/www/html>
AllowOverride All
</Directory>
Değişiklik yaptıktan sonra daima Apache’yi yeniden başlatmayı unutmayın.
4. mod_rewrite’ın test edilmesi
mod_rewrite’ın doğru çalıştığından emin olmak için .htaccess dosyasında temel bir kural oluşturabilirsiniz:
- Belge kökünüzde (örneğin, /var/www/html), .htaccess dosyasını oluşturun veya düzenleyin:
nano /var/www/html/.htaccess
- Aşağıdaki içeriği ekleyin:
RewriteEngine On RewriteRule ^hello\.html$ welcome.html [R=302,L]
- Şimdi bir hoş geldiniz.html dosyası oluşturun:
echo "Welcome, TecAdmin!" > /var/www/html/welcome.html
http://sunucunuzun_ipsi/hello.html adresine erişim artık sizi http://sunucunuzun_ipsi/welcome.html adresine yönlendirmelidir.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.