簡體   English   中英

與Apache一起使用mod_rewrite時如何傳遞REMOTE_USER環境變量?

[英]How can I pass REMOTE_USER environment variable when using mod_rewrite with Apache?

我有以下Apache配置:

Alias /HelpdeskSignIn/ /opt/HelpdeskSignIn/web/
    <Location /HelpdeskSignIn/>
            Order allow,deny
            Allow from all
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) app.php [E=RU:%1,QSA,L]
            RequestHeader set REMOTE_USER %{RU}e
            RedirectMatch permanent ^/app\.php/(.*) /$1
    </Location>
    <Location /HelpdeskSignIn/cccs>
            AuthType CAS
            Require valid-user
    </Location>

應用程序的根目錄不需要身份驗證,但是如果有人進入該目錄的子目錄,則需要對其進行身份驗證。 如果我在整個過程中都需要一個有效的CAS用戶並使用PHP來檢查其值,那么它可以工作,但是當我嘗試上面的代碼時,在/ cccs中打PHP代碼時REMOTE_USER始終為空。 我嘗試了幾種在重寫時傳遞該環境變量的方法,但是它似乎不起作用。 這可能還是有更好的方法呢?

@mario有答案! 我的問題是我一直試圖在重寫中設置變量,但是我不在乎如何獲取值...我不知道它是否有可能被設置為REDIRECT_REMOTE_USER。

對於它的價值,將重定向與nginx和php-fpm和fastCGI一起使用不會在框架中發生。 就我而言,我使用的是框架。

這是一個有點類似的問題,因為我搜索不正確,所以沒有出現在我的任何搜索中:有關此主題的一些有用信息: 從PHP / CakePHP訪問REMOTE_USER

暫無
暫無

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

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