簡體   English   中英

Apache mod_proxy使用簡單代理獲取來源uri

[英]Apache mod_proxy obtain origin uri with simple proxy

當前,我使用mod_proxy在所有子路徑上提供頁面(因為它是一個單頁面應用程序,該應用程序根據請求uri處理內容。

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

這適用於javascript部分。 例如,瀏覽器的URL保持在/ user / 1,但是提供根目錄/的index.php。 水療中心提供適當的內容,但現在我也需要在php中知道請求的uri。

$_SERVER["REQUEST_URI"]

現在包含/但我需要以某種方式獲取uri請求的來源。 我嘗試了一個額外的requestheader:

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

但是附加請求標頭僅包含重寫的uri。

有什么簡單的方法可以傳遞原始請求uri? 沒有配置proxypass或proxypassreverse。 還是有另一種方式在所有子路徑上提供index.php並提出了錯誤的方法?

好吧,我通過查詢參數傳遞來解決它:

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

在php部分,我讀取了參數:

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

並通過以下方式使用它:

$queryParams['origUrl']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM