Вы можете использовать Includeдирективу in, httpd.confчтобы иметь возможность поддерживать перенаправления в другом файле. Но это было бы не очень эффективно, поскольку каждый запрос должен был бы проверяться по множеству регулярных выражений. Кроме того, перезагрузка сервера потребуется после каждого изменения в файле.
Лучшим способом для такого количества перенаправлений было бы использование директивы типа RewriteMapdbm для объявления карты от URI до перенаправлений. Таким образом, это будет эффективно, так как поиск в dbm выполняется очень быстро, и после изменения карты вам не нужно перезапускать сервер, так как httpdпроверяется время модификации файла карты.
Правила переписывания выглядят так (проверено на моем компьютере с Fedora 16):
RewriteEngine On
RewriteMap redirects dbm=db:/etc/httpd/conf/redirects.db
RewriteCond ${redirects:$1} !=""
RewriteRule ^(.*)$ ${redirects:$1} [redirect=permanent,last]
И карта DBM будет создана из текстовой карты, которая /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