Этот вопрос здесь уже есть ответ:
Я хочу перенаправить все домены из конкретный каталог в новый поддомен (невидимо).
например. 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]
Но я не могу правильно понять все варианты. Любая помощь приветствуется.
HTTP-перенаправление - это видимый метод, который заставляет браузер переходить в другое место, поэтому он по определению скрывает ваш . В зависимости от того, какой из них вы предпочитаете, и от того, какой из них новый поддомен на том же сервере, у вас есть три альтернативных варианта.
Такое же простое перенаправление, как это, можно сделать с помощью mod_alias Redirect
. Это изменит местоположение в адресной строке.
Если контент находится на том же сервере, и вы хотите незаметно переписать URL-адрес, mod_rewrite RewriteCond
и RewriteRule
подходят. Просто используйте локальный путь вместо http: //
в вашем RewriteRule
подстановке .
Если вам нужен контент из под.пример. com
на внешнем сервере, но не хотите, чтобы местоположение менялось, вам нужно настроить обратный прокси с mod_proxy .
После того, как вы решили, ваш Вариант использования - это случай из учебника: вы можете найти подходящий пример из любой связанной документации.