我正在尝试为我网站上的子目录启用CORS,之后读取根文件夹上的域使用通配符可能存在安全风险。
这是我的apache2.conf的一部分,它是根文件夹上的不安全通配符。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</Directory>
有没有办法只为var / www的子目录启用CORS?
我需要删除
'Header set Access-Control-Allow-Origin "*"'
来自var / www的,但是当我尝试这样做时:
<Directory /var/www/subdir/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</Directory>
我在Chrome中收到错误告诉我
No 'Access-Control-Allow-Origin' header is present on the requested resource.
有没有办法让子文件夹启用CORS而不是root用户? 感谢。
答案 0 :(得分:2)
我回答差不多一年了,但是我想和你做同样的事情。我唯一的问题是我的目标是错误的目录(忘了把/ var / www / html / subdir)。当我定位到正确的目录时,我只能在该特定目录上启用CORS。
除此之外,我没有为该目录指定任何指令。这是我的apache2.conf的样子:
<Directory /var/www/>
Options +FollowSymLinks -Includes -Indexes
AllowOverride None
Require all granted
<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>
</Directory>
<Directory /var/www/html/subdir/>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</Directory>