[英]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.