Font from origin ‘http://www.ingressplus.com’ has been blocked from loading by Cross-Origin Resource Sharing policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://ingressplus.com’ is therefore not allowed access.
最近将一个网站迁移到新的VPS,数据库,文件备份后部署遇到了许多奇奇怪怪的问题,但大多都是环境配置问题,由于要在主机部署多个网站,这里用到了VirtualHost.
DocumentRoot /var/www/html/chyrp ServerName www.ingressplus.com ServerAlias *.ingressplus.com ErrorLog logs/error_log CustomLog logs/access_log common
1.解决403问题后,网站主页可以打开,但所有链接(站内)都404,网站配置问题,使用chyrp重新安装,当然数据库表数据不要删除,文件不要删除,只要在/includes/目录下新生成config.yaml.php 配置文件,是数据库和基本的配置。更改.htaccess 文件:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.+$ index.php [L] RewriteCond %{HTTP_HOST} !^www.siteX.com [NC] RewriteRule ^(.*)$ http://www.siteX.com/$1 [L,R=301]
2.网站中特殊字体(social-font)使用带www域名访问正常加载,但使用不带www的域名访问则不加载,通过Chrome调试,看到报错信息:Cross-Origin Resource Sharing policy: No ‘Access-Control-Allow-Origin’ header… 反复查资料更改,通常在使用CDN会出现这种访问权限问题,带www的url和不带www对同一个css同路径文件权限不一样的..在.htaccess 文件添加内容:
<ifmodule mod_headers.c>
<filesmatch “\.(ttf|ttc|otf|eot|woff|font.css|css)$”>
Header set Access-Control-Allow-Origin “*”
</filesmatch>
</ifmodule>
结果无效….将这些内容粘贴到/etc/httpd/conf/httpd.conf 中,重新加载apache.成功解决问题…