Переписывание субдомена в root / subdomain

Rolf Nimz спросил: 13 июня 2018 в 03:24 в: regex

В настоящее время у меня есть следующее местоположение: localhost/dir1/ex.html

Я пытаюсь добиться ситуации, когда dir1.localhost/ex.html отображает этот первый URL-адрес. Следующее правило .htaccess работает:

RewriteCond %{HTTP_HOST} =dir1.localhost
RewriteRule ^(.*)$ http://localhost/dir1/$1 [L]

Однако это не то, что я ищу, поскольку он явно перенаправляется. Я хочу, чтобы URL-адрес был таким же (dir1.localhost).

Как бы это сделать? Большое спасибо заранее.

1 ответ

Есть решение
starkeen ответил: 13 июня 2018 в 04:13

Если вы хотите, чтобы ваш поддомен указывал на внутреннюю папку, удалите имя хоста из назначения вашего правила:

RewriteCond %{HTTP_HOST} =dir1.localhost
RewriteCond %{REQUEST_URI} !^/dir1
RewriteRule ^(.*)$ /dir1/$1 [L]`
Rolf Nimz ответил: 13 июня 2018 в 04:01
К сожалению, это дает мне ошибку 500 (журнал ошибок Apache, относящийся к: AH00124 - Request exceeded limit of 10 internal redirects). Я пробовал это как с локальным хостом, так и с каким-то таинственным доменом (включая субдомен), который я временно установил в файле моих хостов. Это связано с неправильной конфигурацией? Мои предыдущие правила .htaccess действовали нормально до сих пор (и да, я удалил их во время тестирования).
starkeen ответил: 13 июня 2018 в 04:14
Попробуйте обновить правило сейчас.
Rolf Nimz ответил: 13 июня 2018 в 04:26
Абсолютно совершенный. Большое спасибо Старкину!

Дополнительное видео по вопросу: Переписывание субдомена в root / subdomain

Regular Expression in .htaccess

Subdomain as PHP variable, PHP, cPanel, .htaccess - working correctly in less than 7 minutes

How to map sub domain to sub folder | Ubuntu Apache-2 Server | WordPress