从http标头获取国家/地区代码,并将其添加到apache中的url参数

时间:2017-11-13 10:43:59

标签: angular apache apache2.4

我正在使用cloudflare在http标头HTTP_CF_IPCOUNTRY中为服务器提供国家/地区代码。

我需要从http标头获取国家/地区代码,并使用.conf文件(虚拟主机)将其添加到apache服务器中的url参数。那可能吗?

服务器版本:Apache / 2.4.7(Ubuntu)

我有一个angular dist文件夹,我正在使用apache服务器提供文件,并且需要url参数中的国家/地区。

我的php服务和角度应用程序的配置文件(/ consultation / *)

<VirtualHost *:80>
    ServerName hero.azure
    ServerAlias hero.com
    ErrorLog /var/log/apache2/error.log
    DocumentRoot /var/www/hero/public
    SetEnv APPLICATION_ENV "testing"
    AliasMatch ^/consultation(.*) "/var/www/ng2/dist/index.html"
    Alias "/ng2" "/var/www/ng2/dist/ng2/"
    <Directory /var/www/hero/public>
     <LimitExcept OPTIONS>
            AuthType Basic
            AuthName "user"
            AuthUserFile /etc/apache2/htpass
            Require user user
    </LimitExcept>
            DirectoryIndex index.php
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

这里有一些尝试添加查询

RewriteEngine on
RewriteCond %{QUERY_STRING} country
RewriteRule ^/consultation(.*)$ ^/consultation/(.*)?country="%{CF-IPCOUNTRY}i"&%{QUERY_STRING} [QSA]

1 个答案:

答案 0 :(得分:0)

通过将此规则添加到虚拟主机来解决:

{{1}}