mod_headers 根本不起作用

mod_headers 根本不起作用

我已经在我的 apache(Windows Server 2008 上的 2.2)配置中启用了 mod_headers,但它没有任何反应。

我已将 headers 指令移至配置的所有部分,甚至移至根目录中的 .htaccess 文件,但它仍然没有任何反应。

<VirtualHost *:80>

    ServerName [dedacted]
    ServerAdmin [dedacted]
    DocumentRoot "C:\data"

    Header always append Access-Control-Allow-Origin "*"

    ErrorLog "logs/data.log"
    CustomLog "logs/data.log" common

    <Directory C:\data>
        Options FollowSymLinks All
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>

</VirtualHost>

我已经检查过该模块是否通过命令行和 phpinfo() 加载,如下所示:

Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env **mod_headers** mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_php5 

我要疯了,甚至考虑重新安装 Apache。

有谁能帮忙!

答案1

您这样做的原因是否与我们其他人现在这样做的原因相同,即自定义字体文件?如果是这样,以下是我最终做的事情,可能会有所帮助:

<FilesMatch "\.(ttf|otf|eot)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>

答案2

我认为该Header指令应该放在<Directory>,<File><Location>部分内。如下所示:

<Directory C:\data>
    Options FollowSymLinks All
    AllowOverride All
    Order deny,allow
    Allow from all
    Header always append Access-Control-Allow-Origin "*"
</Directory>

相关内容