apache2.conf 如何根据 url 参数为模块设置参数

apache2.conf 如何根据 url 参数为模块设置参数

我需要为模块设置一个参数

(具体是通过设置参数 GeoIPEnable On 来激活地理编码模块)

在 httpd.conf 中根据请求 url 中的参数(例如 geo=true)。

如何才能做到这一点?

答案1

实现此目的的“好”方法是使用<If>Apache 2.4 中的功能。

假设这不可用,您就只能使用相当不靠谱的解决方法。假设内容可以接受(如果您有动态内容,这可能会中断 - 您可以扩展 Apache 中运行的内容吗?),您可以按照以下方式进行操作:

RewriteEngine On
# Do an internal redirect of the requests that have the geoip=true param:
RewriteCond %{QUERY_STRING} geoip=true [NC]
RewriteRule ^(.*)$ /geoip$1 [PT,QSA,L]

# Make the content under /geoip identical to the docroot:
Alias /geoip /path/to/docroot

# And, configure /geoip for the GeoIP lookups:
<Location /geoip>
    GeoIPEnable On
</Location>

相关内容