Как перенаправить подпапку как прокси в htaccess?
У меня есть приложение isso, работающее на localhost:63837
и я хотел бы прокси-запросы от https://www.domain.com/isso
Это были мои подходы:
RewriteRule https://www.domain.com/isso/(.*)$ http://127.0.0.1:63837/$1 [P]
RewriteRule /isso/(.*)$ http://127.0.0.1:63837/$1 [P]
RewriteRule /isso(.*)$ http://127.0.0.1:63837/$1 [P]
Обычно я бы настроить httpd-vhost.conf
но в этом случае я не могу сделать это на моем хостере (Uberspace).
<Location "/isso">
ProxyPass "http://127.0.0.1:63837"
ProxyPassReverse "http://127.0.0.1:63837"
</Location>
Кроме того, я не люблю использовать поддомен для этого.
1 ответ
Ваш второй подход был почти правильным (на самом деле, именно это будет работать в .conf
файл).
В контексте каталога (Directory
или же .htaccess
), шаблон сопоставляется только с частичным путем: путь к каталогу, в котором определяется правило, удаляется из пути перед сравнением - вплоть до завершающего слеша!. Удаленный префикс всегда заканчивается косой чертой, это означает, что сопоставление происходит со строкой, которая никогда не имеет начального слеша.
Следовательно:
RewriteRule ^isso/(.*)$ http://127.0.0.1:63837/$1 [P]