目前我使用mod_proxy在所有子路径上提供页面(导致其单页应用程序根据请求uri处理内容。
RewriteRule ^/(.*)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/ [P,L]
这适用于javascript部分。浏览器URL保留在例如/ user / 1,但是来自root /的index.php被提供。水疗中心提供适当的内容,但现在我需要知道所请求的uri也在php。
$_SERVER["REQUEST_URI"]
现在包含/但我需要以某种方式得到原始请求的uri。我尝试了另一个请求标题:
SetEnvIf Request_URI "^(.*)$" REQUEST_URI=$1
RequestHeader set X-Request-Uri "%{REQUEST_URI}e"
但附加请求标头仅包含重写的uri。
有没有简单的方法来传递原始请求uri?没有proxypass或proxypassreverse可配置。或者是否有另一种方法可以在所有子路径上提供index.php并且使用错误的方法?
答案 0 :(得分:0)
好的我通过查询参数传递它来修复它:
RewriteRule ^/(.*)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/?origUrl=$0 [E=ORIG_URI:/$0,P,L,QSA]
在php部分我读了参数:
parse_str($_SERVER['QUERY_STRING'], $queryParams);
并通过以下方式使用:
$queryParams['origUrl']