Задача
Мне нужно перенаправить некоторые короткие удобные URL-адреса на более длинные фактические URL-адреса. Данный сайт использует набор поддоменов для идентификации набора версий для разработки или живых версий.
Мне бы хотелось, чтобы URL, на который перенаправлялись определенные запросы, включал HTTP_HOST, чтобы мне не нужно было создавать собственный файл .htaccess для каждого хоста.
Пример для конкретного хоста (вырезано из файла .htaccess)
Redirect /terms http://support.dev01.example.com/articles/terms/
Этот пример отлично работает для версии разработки, запущенной на dev01.example.com. Если я использую ту же строку в главном файле .htaccess для версии для разработчиков, работающей под dev02.example.com, я попаду в неправильное место.
Идеальное правило (не уверен в правильности синтаксиса)
Redirect /terms http://support.{HTTP_HOST}/articles/terms/
Это правило не работает и служит лишь примером того, чего я хотел бы достичь. Затем я мог бы использовать одно и то же правило для разных хостов и получить правильный результат.
Ответы
- Можно ли это сделать с помощью mod_alias или требуется более сложный mod_rewrite?
- Как этого добиться, используя mod_alias или mod_rewrite? Я бы предпочел решение mod_alias, если это возможно.
Разъяснения
Я не останавливаюсь на одном сервере. Я хотел бы:
Мне бы хотелось иметь возможность использовать одно и то же правило в файле .htaccess как на example.com, так и на dev.example.com. В этой ситуации мне нужно было бы ссылаться на HTTP_HOST как на переменную, а не указывать ее буквально в URL-адресе, на который перенаправляются запросы.
Я исследую параметр HTTP_HOST, как было предложено, но надеялся на рабочий пример.