#apache #.htaccess #redirect #mod-rewrite
#apache #.htaccess #перенаправление #mod-переписать
Вопрос:
Хотя я знаю немного регулярных выражений, я не могу понять или найти здесь ответ о том, как перенаправить подкаталог в подкаталог поддомена. Это не дубликат, потому что каждый пост здесь описывает, как перенаправить подкаталог в поддомен. И код, даже после некоторых изменений, не работает. Итак, вот пример:
Перенаправить все страницы, начинающиеся с:
example.com/sub/directory/here/*
В поддомен:
sub.example.com/directory/*
Также может быть www.
перед URL-адресами. Итак, кто-нибудь знает, как это сделать, я борюсь с этим часами: (. Объяснение кода очень приветствуется 🙂 Любая помощь приветствуется. Спасибо!
Ответ №1:
Это должно сработать
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} !^sub.example.com$
RewriteRule ^sub/directory/here/(.*) http://sub.example.com/directory/$1 [R,L]
</VirtualHost>
РЕДАКТИРОВАТЬ, если он используется в .htaccess, затем измените на:
RewriteCond %{HTTP_HOST} !^sub.example.com$
RewriteRule ^/sub/directory/here/(.*) http://sub.example.com/directory/$1 [R,L]
Комментарии:
1. Выглядело так многообещающе: (Не работает, может быть, это моя вина, возможно, это моя вина, поэтому я хочу знать: я вставил это
.htaccess
в корневую папку своего веб-сайта, имеет ли значение, куда я его поместил, поскольку пути относительны? Я пропустил VirtualHost, ServerName, ServerAlias, потому что я не знаю, что они делают, и я боюсь их использовать, и я пропустил RewriteEngine, потому что у меня уже есть это в моем коде. Спасибо за это, могу я попросить вас немного объяснить упомянутые части кода? Огромное спасибо! 🙂2. Хорошо, если он находится в .htaccess, измените правило перезаписи на приведенное выше редактирование