我已经在我的 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>