2016-08-05 4 views
0

У меня возникли проблемы с получением шрифта, который я установил с помощью @ font-face, для работы с новым статическим субдоменом.Cross-Origin @ font-face

Я выполнял шаги, чтобы настроить субдомен без файлов cookie, обозначенный IT Support Guides.

Когда я добавляю:

define("WP_CONTENT_URL", "http://static.example.net"); 
    define("COOKIE_DOMAIN", "www.example.net"); 
    define("WP_PLUGIN_URL", "http://static.example.net/plugins"); 

в wp.config файл и

<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> 
     SetEnvIf Origin ":" IS_CORS 
     Header set Access-Control-Allow-Origin "http://www.example.net" env=IS_CORS 
</FilesMatch> 

<FilesMatch "\.(eot|otf|ttc|ttf|woff)$"> 
    Header set Access-Control-Allow-Origin "http://www.example.net" 
</FilesMatch> 

к .htaccess, я получаю сообщение об ошибке поперечного происхождения для шрифта У меня есть установленный в моей папке темы (шрифт не отображается).

Я предполагаю, что я не совсем правильно делаю с файлом .htaccess, но я не уверен, что. Я видел в некоторых людей использование «*» вместо «example.net», но это тоже не помогает.

Любые идеи?

Edit:

Здесь ошибка я вижу в Chrome: «Шрифт из происхождения 'http://static.example.net' был заблокирован нагружении политики Cross-Origin Resource Sharing: Заголовок заголовка «Access-Control-Allow-Origin» имеет значение «http://www.example.net», которое не соответствует предоставленному источнику. Следовательно, для источника «http://example.net» не разрешен доступ.

+0

Этот вопрос, вероятно, будет лучше на http://wordpress.stackexchange.com/ –

+1

Можете ли вы вставить ошибку в qiestion – error2007s

+0

Соответствует ли значение заголовка 'Access-Control-Allow-Origin' в ответе есть '' 'в нем, а значение' Origin' в запросе - нет, то есть 'http: // www.example.net' vs' http: // example.net'? Если это так, это не то же самое происхождение. Если хост-часть URL-адреса вообще отличается, то это делает начало разному. Для запроса и ответа оба должны иметь 'http: // www.example.net', или оба они должны иметь' http: // example.net'. – sideshowbarker

ответ

1

Fixed его!

оказывается shideshowbarker может быть на правильном пути. Я изменил wp.config to:

<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> 
    SetEnvIf Origin ":" IS_CORS 
    Header set Access-Control-Allow-Origin "http://example.net" env=IS_CORS 
</FilesMatch> 

<FilesMatch "\.(eot|otf|ttc|ttf|woff)$"> 
Header set Access-Control-Allow-Origin "http://example.net" 
</FilesMatch> 

и получил его для работы сегодня. Я пробовал это раньше, но поскольку я использую CDN, он, должно быть, использовал кэшированную версию wp.config, вытягивая новый файл htaccess. Поскольку он не обновлял wp.config, я продолжал получать ту же ошибку даже после того, как я изменил файл.

Возможно, осталось оставить несколько изменений в файле wp.config, чтобы CDN мог обновить кеш. В качестве альтернативы я мог просто сказать CDN, чтобы очистить кеш.