Apache Переписать определенные домены в субдомен [дублировать]

Я хочу перенаправить все домены из конкретный каталог в новый поддомен (невидимо).

например. example.com/literal/some/path/to/file.html -> sub.example.com/literal/some/path/to/file.html {{1} } И

www.example.com/literal/some/path/to/file.html -> www.sub.example.com/literal/some/path/to /file.html

Где "буквальный" должен быть постоянным, а все, что следует после него, произвольно.

Я пробовал такие вещи, как

RewriteEngine на RewriteCond% {HTTP_HOST} ^ example \ .com / literal RewriteRule ^ (. *) $ Http: //sub.example .com / $ 1 [L]

Но я не могу правильно понять все варианты. Любая помощь приветствуется.

-1
задан 2 June 2017 в 14:56
1 ответ

HTTP-перенаправление - это видимый метод, который заставляет браузер переходить в другое место, поэтому он по определению скрывает ваш . В зависимости от того, какой из них вы предпочитаете, и от того, какой из них новый поддомен на том же сервере, у вас есть три альтернативных варианта.

  • Такое же простое перенаправление, как это, можно сделать с помощью mod_alias Redirect . Это изменит местоположение в адресной строке.

  • Если контент находится на том же сервере, и вы хотите незаметно переписать URL-адрес, mod_rewrite RewriteCond и RewriteRule подходят. Просто используйте локальный путь вместо http: // в вашем RewriteRule подстановке .

  • Если вам нужен контент из под.пример. com на внешнем сервере, но не хотите, чтобы местоположение менялось, вам нужно настроить обратный прокси с mod_proxy .

После того, как вы решили, ваш Вариант использования - это случай из учебника: вы можете найти подходящий пример из любой связанной документации.

1
ответ дан 5 December 2019 в 19:42

Теги

Похожие вопросы