Sen kullanabilirsiniz Includedirektif in httpd.confbaş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 dbmbir 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, httpdharita 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.txtgibi 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