आप किसी अन्य फ़ाइल में रीडायरेक्ट को बनाए रखने में सक्षम होने के लिए Include
निर्देश का उपयोग कर सकते हैं httpd.conf
। लेकिन यह बहुत कुशल नहीं होगा, क्योंकि प्रत्येक अनुरोध को बहुत सारे नियमित अभिव्यक्तियों के खिलाफ जांचने की आवश्यकता होगी। इसके अलावा फ़ाइल में हर बदलाव के बाद सर्वर रीस्टार्ट की आवश्यकता होगी।
इतने सारे रीडायरेक्ट के लिए एक बेहतर तरीका यह होगा कि आप यूआरआरआईdbm
से रिडायरेक्ट्स में मैप घोषित करने के लिए रीयरट्रिप के निर्देश का उपयोग करें । इस तरह यह कुशल होगा, क्योंकि dbm लुकअप बहुत तेज होते हैं, और मैप में बदलाव के बाद आपको सर्वर को रिस्टार्ट करने की जरूरत नहीं होगी, जैसा httpd
कि मैप फाइल मॉडिफिकेशन टाइम के लिए चेक करता है।
एक पुनर्लेखन नियम इस तरह दिखेगा (मेरे फेडोरा 16 कंप्यूटर पर परीक्षण):
RewriteEngine On
RewriteMap redirects dbm=db:/etc/httpd/conf/redirects.db
RewriteCond ${redirects:$1} !=""
RewriteRule ^(.*)$ ${redirects:$1} [redirect=permanent,last]
और डीबीएम मैप /etc/httpd/conf/redirects.txt
इस तरह दिखने वाले टेक्स्ट मैप से बनाया जाएगा :
/foo http://serverfault.com/
/bar/lorem/ipsum/ http://stackoverflow.com/
एक कमांड का उपयोग करना
httxt2dbm -f db -i /etc/httpd/conf/redirects.txt -o /etc/httpd/conf/redirects.db