как показать содержимое поддомена с подстановочными знаками на основе url в файле .htaccess?

Если пользователь вводит example.domain.com , Я хочу, чтобы он увидел, что находится в www.domain.com/example .

Другой пример:

Пользователь запросит example.domain.com/photos/gallery.php?from=var1&no=3 , он увидит, что находится в www.domain.com/example/photos/gallery.php?from=var&no=3 .

Примечание: в моих подпапках (подстановочные знаки) у меня будет установлен WordPress, поэтому я также следует помнить об этой системе URL.

1
задан 24 December 2018 в 14:48
1 ответ

Я предполагаю, что вы уже настроили поддомен с подстановочными знаками в своем DNS, и конфигурация вашего сервера настроена для приема таких запросов. Чтобы все эти субдомены разрешались в корневой каталог вашего основного домена.

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

Затем вы можете сделать что-то вроде следующего в файл .htaccess в корне документа:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com
RewriteRule ^ /%1%{REQUEST_URI} [L]

Это исключает перезапись субдомена www.

Предоставление подкаталогу собственного файла .htaccess с директивами mod_rewrite (как и ожидайте с WordPress), вам больше ничего не нужно делать.


ОБНОВЛЕНИЕ: Однако, если у вас не установлен WordPress в подкаталоге, т.е. у вас нет .htaccess , содержащего директивы mod_rewrite в подкаталоге, тогда вам нужно будет изменить приведенный выше код, добавив дополнительное условие, чтобы предотвратить цикл перезаписи (500 Internal Server Error).

Например:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com
RewriteRule ^ /%1%{REQUEST_URI} [L]

Условие, которое проверяется на соответствие переменной среды REDIRECT_STATUS , предотвращает цикл перезаписи, блокируя перезаписанные запросы. Однако, как отмечалось выше, в этом нет необходимости, если WordPress уже установлен в подкаталоге.

0
ответ дан 4 December 2019 в 03:23

Теги

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