Как перенаправить подпапку как прокси в 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]
Другие вопросы по тегам