Apache mod_proxy получить исходный URI с простым прокси

В настоящее время я использую mod_proxy для обслуживания страницы по всем подпутям (потому что это одностраничное приложение, которое обрабатывает содержимое в зависимости от uri запроса.

RewriteRule ^/(.*)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/ [P,L]

Это работает для части JavaScript. URL браузера остается, например, в / user / 1, но index.php из корня / обслуживается. Спа обслуживает надлежащее содержание, но теперь мне нужно знать запрашиваемое URI также в php.

$_SERVER["REQUEST_URI"]

содержит сейчас / но мне нужно, чтобы получить как-то запрошенный источник URI. Я попытался дополнительный запрос заголовка:

SetEnvIf Request_URI "^(.*)$" REQUEST_URI=$1
RequestHeader set X-Request-Uri "%{REQUEST_URI}e"

но дополнительный заголовок запроса содержит только переписанный URI.

Есть ли простой способ передать исходный запрос URI? Нет проксипассера или проксипассераверса. Или есть другой способ обслужить index.php на всех подпутях и проксирует неправильный подход?

1

Решение

Хорошо, я исправил это путем передачи его через параметр запроса:

RewriteRule ^/(.*)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/?origUrl=$0 [E=ORIG_URI:/$0,P,L,QSA]

И в части PHP я прочитал параметр:

parse_str($_SERVER['QUERY_STRING'], $queryParams);

и использовать его через:

$queryParams['origUrl']
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]