2016-03-22 2 views
-1

現在、私のさまざまなドメインからアクセスできるフォントライブラリを作成しようとしています。複数のサブドメインへのフォントの配信問題

私はこの問題を深く研究しており、この問題は「アクセス制御許可元」が.htaccessファイルに正しく設定されている必要があると思われます。

複数回試してみると、問題を解決できません。

次のように私はそれを設定している:私は.htaccessのfile.Thisファイルを作成している私のサーバーのルートで

は私のサーバー上のルートフォルダ内

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

している含まれています私のさまざまなドメインを含むフォルダが含まれています。

-ROOT Folder 
    | 
    -.htaccess 
    -Fonts Folder (which contains the relevant font files to serve) 
    -Domain 1 Root Folder 
    -Domain 2 Root Folder 
    -Domain 3 Root Folder 
    -Domain 4 Root Folder 

私は何らかの形で完全に無力であると確信しています非常に根本的に間違っていることをやっていますが、今は私はそれを見ることができないので、この問題の助けを借りることは非常に感謝しています。

答えて

1

正しい方法ですが、メインドメイン以外からアクセスしたときにChromeコンソール(たとえば)を確認してください。何かエラーや通知がありましたか?たぶん、htaccess、または間違ったパスを持つものです...しかし、我々はそれを追跡する必要があります。 .htaccessファイルが共有ライブラリ/フォントのフォルダにあることを確認してください。

AMM、ちょうど私が図書館利用状況のこの種で働いていたプロジェクトの鉱山htaccessの部分を貼り付けます、確かに(私の場合、私はのみのドメインのための許可を与える):

<ifModule mod_headers.c> 
    SetEnvIf Origin "http(s)?://(www\.)?(domain1.t.com|dom2.t.com|dom3.t.com|dom4.t.com)$" AccessControlAllowOrigin=$0$1 
    Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin 
</ifModule> 

それとも、

<ifModule mod_headers.c> 
    Header add Access-Control-Allow-Origin * 
</ifModule> 

幸いです。

+0

多くのありがとうBoris.Iはこれを今見ていきます.1つ目は、.htaccessファイルが足があるフォルダにあるはずです.....現在は.htaccessが入っているということですROOTとFONTSフォルダがRootにあります.htaccessをFONTSフォルダに移動する必要がありますか? –

+0

試してみるのは良いことです。いずれにしても、不要な(すべてのインターネット)ドメインに対してすべてのファイルを提供する必要はありません。だから試してみてください...そして、情報コンソールが転送されたファイル(ネットワーク部分)についてあなたにどのような情報を提供するのかを忘れることはありません。 あなたは私がそれをしたときに返信:)幸運を! –

+0

Boris、私は光を見て、私はそれを見てくれてありがとう!答えはとてもシンプルだった...すべてのフォントがファイル名の前にあったコードの単純なタイプミス。例えばeot.woff.Crazy!あなたの最初のコードは完璧に動作し、まさに私が自分のドメインにアクセスを制限したいと思っているので、私が探しているものです。あなたの意見に大変感謝します。 –

0

この問題を抱えている誰かを確認するだけで、次のようにして解決できることが確認できます。

1).htaccessファイル

2を作成します).htaccessファイルに次のコードを挿入します。

<ifModule mod_headers.c> 
SetEnvIf Origin "http(s)?://(www\.)?(domain1.t.com|dom2.t.com|dom3.t.com|dom4.t.com)$" AccessControlAllowOrigin=$0$1 
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin 

3)あなたがへのアクセスを許可するドメインを入力します。上記コード

(domain1.t.com | dom2.t.com | dom3.t.com | dom4.t.com)

はなるはず:

(mydomain.com | mydomain2.com | mydomain3.com | mydomain4.com)

「はmydomain。comが」あなたが記載されている

ドメインは今まで正常にリンクされたときに、あなたのフォントのにアクセスできるようにする必要があり、サーバーのトップレベルのルートディレクトリにファイルを配置)

4へのアクセス権を与えているドメインです。