2014-09-07 7 views
1

Я попытался найти ответ повсюду. У меня есть петь сайт www.hugeone.co.uk. Когда адрес похож на эту ссылку (с www.), Все в порядке. Но если я печатаю только hugeone.co.uk WebFonts не появляются, и я получаю сообщение:webfont не работает без www

Cross-Origin Request заблокированное: The Same Origin Policy запрещает чтение удаленный ресурс в http://www.hugeone.co.uk/includes/templates/huheone/css/fonts/dirtyheadline-webfont.woff. Это можно устранить, перемещая ресурс в тот же домен или , что позволяет CORS.

мой файл .htaccess:

RewriteEngine On 

# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx]) 
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC] 
# Don't rewrite any URIs for some, popular specific file format extensions, 
# which are not covered by main file extension condition above 
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC] 

RewriteCond %{REQUEST_URI} !^/editors/ [NC] 
# Don't rewrite .settings directory 
RewriteCond %{REQUEST_URI} !^/\.settings/ [NC] 
# Don't rewrite ajax_bin directory 
RewriteCond %{REQUEST_URI} !^/ajax_bin/ [NC] 
# Don't rewrite artwork directory 
RewriteCond %{REQUEST_URI} !^/artwork/ [NC] 
# Don't rewrite bigdump directory 
RewriteCond %{REQUEST_URI} !^/bigdump/ [NC] 
# Don't rewrite bmz_cache directory 
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC] 
# Don't rewrite catal directory 
RewriteCond %{REQUEST_URI} !^/catal/ [NC] 
# Don't rewrite catdescr directory 
RewriteCond %{REQUEST_URI} !^/catdescr/ [NC] 
# Don't rewrite ebay directory 
RewriteCond %{REQUEST_URI} !^/ebay/ [NC] 
# Don't rewrite feed directory 
RewriteCond %{REQUEST_URI} !^/feed/ [NC] 
# Don't rewrite fonts directory 
RewriteCond %{REQUEST_URI} !^/fonts/ [NC] 
# Don't rewrite ftp-uploads directory 
RewriteCond %{REQUEST_URI} !^/ftp\-uploads/ [NC] 
# Don't rewrite harvest directory 
RewriteCond %{REQUEST_URI} !^/harvest/ [NC] 
# Don't rewrite invoices directory 
RewriteCond %{REQUEST_URI} !^/invoices/ [NC] 
# Don't rewrite jobs directory 
RewriteCond %{REQUEST_URI} !^/jobs/ [NC] 
# Don't rewrite logo directory 
RewriteCond %{REQUEST_URI} !^/logo/ [NC] 
# Don't rewrite londynek directory 
RewriteCond %{REQUEST_URI} !^/londynek/ [NC] 
# Don't rewrite phpmyadmin directory 
RewriteCond %{REQUEST_URI} !^/phpmyadmin/ [NC] 
# Don't rewrite populate directory 
RewriteCond %{REQUEST_URI} !^/populate/ [NC] 
# Don't rewrite temp directory 
RewriteCond %{REQUEST_URI} !^/temp/ [NC] 
# Don't rewrite test directory 
RewriteCond %{REQUEST_URI} !^/test/ [NC] 
# Don't rewrite uploads directory 
RewriteCond %{REQUEST_URI} !^/uploads/ [NC] 
# Don't rewrite very_secret directory 
RewriteCond %{REQUEST_URI} !^/very_secret/ [NC] 
# Don't rewrite video directory 
RewriteCond %{REQUEST_URI} !^/video/ [NC] 
# Handle all other URIs using Zen Cart (its index.php) 
RewriteRule .* index.php [QSA,L] 

## END CEON URI MAPPING REWRITE RULE 

#WEBFONTS 

AddType font/ttf .ttf 
AddType font/eot .eot 
AddType font/otf .otf 
AddType font/woff .woff 

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

Я не знаю, что я могу сделать больше.

ответ

1

Если перенаправлять все непредоставлением WWW запросы WWW вариант вы можете сделать это:

RewriteCond %{HTTP_HOST} ^hugeone\.co\.uk$ [NC] 
RewriteRule^http://www.hugeone.co.uk%{REQUEST_URI} [R=301,L] 

добавить, что прямо ниже:

RewriteEngine On 
# optional you might not have the below in your file. 
RewriteBase/

В файле .htaccess.

Альтернативой выше будет включить CORS используя ваш .htaccess для WebFonts было бы так:

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

Как примечание стороны его лучше, если ваш не использовать оба WWW и не - WWW, поскольку Google, например, не любит видеть оба.

+0

Спасибо, что вам многое изменилось. Теперь это работает !!!!!!! –

+0

Привет, я принял это, но мне пришлось подождать, прежде чем мне разрешили это сделать. У меня была часть Access-control .. в моем .htaccess, но это не сработало. Я использую только www с google, но пользователи не могут помещать URL-адрес без www. –

+0

@PiotrJankowski да, есть время ожидания, когда вопрос очень свежий, спасибо, рад, что он сработал для вас :) – Prix

0

И url, и значение должны быть одинаковыми.

В этом случае возможны два решения.

  1. Перенаправление все без WWW запрос на WWW

  2. Изменение базовой HREF значение, основанное на URL.

Смежные вопросы