主题图标在http://domain.com,上不可见,在http://ipaddress上工作

时间:2015-11-28 作者:Siddharth

我发布了一个基于wordpress的网站。我使用了一个允许使用图标的主题。这些图标不是小图像,而是我在页面上使用的短代码。

打开

http://<my ip address>
您会注意到项目符号和滑块箭头的漂亮图标。但是如果你用域名打开同一个网站

http://<my domain name>
您将注意到图标不可见。取而代之的是矩形框。我错过了什么?

Edit :

我修改了我的。htaccess并重新启动了apache,但在我的web调试器(Chrome F12)上仍然出现此错误

跨源资源共享策略已阻止加载来自源站的字体“http://”:请求的资源上不存在“Access Control Allow origin”标头。因此,不允许访问源“http://>”。

我的htaccess

# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
    </IfModule>
</IfModule>
# END W3TC Browser Cache

What Finally Worked

# Allow access from all domains for webfonts.
# Alternatively you could only whitelist your
# subdomains like "subdomain.example.com".
<IfModule mod_headers.c>
  <FilesMatch "\\.(ttf|ttc|otf|eot|woff|font.css|css)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>

One more missing piece of the puzzle

.htaccess 文件不是只读的。我发现我没有httpd.conf 在里面/etc/apache2 文件夹意识到apache2已将其conf文件的位置更改为/etc/apache2/sites-enabled/000-default.conf.

我在下面加了4行

DocumentRoot/var/www/html

<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride All
</Directory>
注意我的.htaccess 在以下位置/var/www/html

还有我的。htaccess文件为

<IfModule mod_headers.c>
<FilesMatch "\\.(eot|font.css|otf|ttc|ttf|woff)$">
    Header set Access-Control-Allow-Origin "http://www.example.com"
</FilesMatch>
</IfModule>
<IfModule mod_mime.c>
# Web fonts
AddType application/font-woff woff
AddType application/vnd.ms-fontobject eot

# Browsers usually ignore the font MIME types and sniff the content,
# however, Chrome shows a warning if other MIME types are used for the
# following fonts.
AddType application/x-font-ttf ttc ttf
AddType font/opentype otf

# Make SVGZ fonts work on iPad:
# https://twitter.com/FontSquirrel/status/14855840545
AddType     image/svg+xml svg svgz
AddEncoding gzip svgz

</IfModule>

# rewrite www.example.com → example.com

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>
不要忘记替换示例。com。htaccess。是的,还有一件事,chwon www-data:www-data .htaccess 也很重要。

1 个回复
最合适的回答,由SO网友:MrKainig 整理而成

你在mcruiseon上看到了吗。com您的控制台是否删除此错误?我想这与你的图标问题有关

跨源资源共享策略已阻止加载来自源站的字体“http://”:请求的资源上不存在“Access Control Allow origin”标头。因此,不允许访问源“http://”。