httpd.conf 文件的 <VIRTUAL_HOST> 中的“如果”标记检查 apache 2.4 的 HTTP_UESR_AGENT 未按预期工作

Posted

技术标签:

【中文标题】httpd.conf 文件的 <VIRTUAL_HOST> 中的“如果”标记检查 apache 2.4 的 HTTP_UESR_AGENT 未按预期工作【英文标题】:"If" tag in <VIRTUAL_HOST> of httpd.conf file checking HTTP_UESR_AGENT of apache 2.4 not working as expected 【发布时间】:2013-05-07 03:34:56 【问题描述】:

我从文档中发现,从 Apache 2.3 开始,我们可以使用 hattpd.conf 文件中的标签。

但是当尝试在我的 httpd.conf 文件中进行操作时,我无法获得所需的重定向。

httpd.conf文件部分内容如下:

    <VirtualHost *:80>
       ServerName localhost:80
       ServerAlias localhost1
       <If "%HTTP_USER_AGENT == 'iphone'">
          RewriteEngine on

          Redirect / http://172.26.50.246:90/
       </If>

       DocumentRoot "C:/Apache24/htdocs"
    </VirtualHost>

请帮助我找出上述片段中的缺陷... 谢谢

【问题讨论】:

【参考方案1】:

我找到了解决办法

#-strmatch
<If "%HTTP_USER_AGENT -strcmatch '*iphone*'">
    Redirect / http://172.26.50.246:90/
</If>

【讨论】:

以上是关于httpd.conf 文件的 <VIRTUAL_HOST> 中的“如果”标记检查 apache 2.4 的 HTTP_UESR_AGENT 未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

Apache配置文件httpd.conf细说

MAMP/Conf/apache文件/httpd.conf文件

Apache配置文件httpd.conf/htaccess中deny和allow的使用

Apache 2.4 忽略 httpd-vhosts.conf 文件

apache httpd.conf alias

Apache的主配置文件:/etc/httpd/conf/httpd.conf