通过反向代理来根据User-agent添加任意请求头

在作为反向代理运行的Apache中,在将请求中继到后端服务器时,可以添加任意的请求标头。由于有需要仅在访问设备为智能手机时添加请求标头的要求,因此在此记录设置方法。

当用户代理是智能手机时,只需添加请求头。

# User-Agentがスマホの場合は環境変数deviceにsmartphoneをセットする
BrowserMatch "(^MobileSafari|^Mozilla/5\.0 \((iPhone;|iPod;|Linux; U; Android .* Mobile|Linux; Android .* Mobile))" device=smartphone

# 環境変数deviceがsmartphoneの場合、環境変数isspにtrueをセットする
SetEnvIf device ^smartphone$ issp=true

# 環境変数isspが存在する場合、リクエストヘッダX-TEST-HEADERに値SPをセットする
RequestHeader set X-TEST-HEADER SP env=issp

请注意

    • RequestHeader ディレクティブでは環境変数の有無を条件にできるが、環境変数の値は条件にできないため、SetEnvIfディレクティブで環境変数deviceの値を判別している

 

    mod_headers, mod_setenvifを読み込んでおく必要がある
广告
将在 10 秒后关闭
bannerAds