Проблема
Мне нужно перенаправить некоторые короткие удобные 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, если это возможно.
Пояснения
Я не останусь на том же сервере. Я хотел бы:
- http://example.com/terms/ -> http://support. example.com/articles/terms/
- https://secure.example.com/terms/ -> http://support.example.com/articles/terms/
- http://dev.example.com/terms/ -> http://support.< strong>dev.example.com/articles/terms/
- https://secure.dev.example.com/terms/ -> http://support.dev.example.com/articles/terms/
Я хотел бы иметь возможность использовать одно и то же правило в файле .htaccess как на example.com, так и на dev.example.com. В этой ситуации мне нужно было бы иметь возможность ссылаться на HTTP_HOST как на переменную, а не указывать ее буквально в URL-адресе, на который перенаправляются запросы.
Я изучу параметр HTTP_HOST, как было предложено, но надеялся на рабочий пример.