Sen kullanabilirsiniz Include
direktif in httpd.conf
başka dosyada yönlendirmeleri korumak için muktedir. Ancak, her talebin bir çok düzenli ifadeye karşı kontrol edilmesi gerektiğinden, çok verimli olmazdı. Ayrıca, dosyadaki her değişiklikten sonra sunucunun yeniden başlatılması gerekir.
Bu kadar çok yönlendirmenin daha iyi bir yolu, URI'lerden yönlendirmelere dbm
bir harita bildirmek için RewriteMap tür yönergesini kullanmak olacaktır . Bu şekilde verimli olacaktır, dbm aramaları çok hızlı olduğundan ve haritadaki bir değişiklikten sonra, httpd
harita dosyası değiştirme süresini kontrol ettiği için bir sunucuyu yeniden başlatmanız gerekmez .
Yeniden yazma kuralları şu şekilde görünecektir (Fedora 16 bilgisayarımda test edildi):
RewriteEngine On
RewriteMap redirects dbm=db:/etc/httpd/conf/redirects.db
RewriteCond ${redirects:$1} !=""
RewriteRule ^(.*)$ ${redirects:$1} [redirect=permanent,last]
Ve dbm haritası metin haritasından aşağıdaki /etc/httpd/conf/redirects.txt
gibi oluşturulur :
/foo http://serverfault.com/
/bar/lorem/ipsum/ http://stackoverflow.com/
komut kullanma
httxt2dbm -f db -i /etc/httpd/conf/redirects.txt -o /etc/httpd/conf/redirects.db