2011-12-09 16 views
0

3つの異なるドメインにある3つの異なるアプリケーションと、3つのアプリケーションすべてに共通するファイルを置くことができる個人的な "cdn" :複数のアプリケーション間でJSファイルを共有する

root/ 
    /dinosaureggs.com 
    /magicalapples.com 
    /wizardsupplies.com 
    /mypersonalcdn.com 
      /js 
      /php 
      /css 

この同じ構造は、ローカルと本番環境に反映されます。私はdinosaureggs.comにいると私は/ PHPのフォルダに共有PHPライブラリを使用したい場合は

私が言うことができます。これは、両方のローカルおよび本番サーバー上で正常に動作します

require('/../mypersonalcdn.com/php/library.php') 

しかし、JSにはPHPの場合と同じ方法でパスに「アプリケーション」から戻ることができないため、JSでは機能しません。

私が言うことができない。

<script type="text/javascript" src="/../mypersonal.cdn/js/library.js"></script> 

を今、ライブに私が言うことができる:

<script type="text/javascript" src="http://mypersonalcdn.com/js/menus.js"></script> 

をしかし、これは少なくともある程度(ローカル環境のための私の問題を解決しないこと私はそれを本当にローカルに残し、オフラインで開発するオプションを持っていたい)。

提案がありますか?

答えて

0

PHPは、上記JSメソッドをフェッチする間はOKだった、これは私が最終的に上陸はるかに簡単な解決策だった:複数のドメイン

に共通のクライアントファイルを持つドキュメントルート/の外にあるファイルをサービング

これを行うには、mod_aliasをhttpに設定します。

しかし、その代わりに探して:このようなあなたは、CSS(または画像やJSまたは何でも)を呼び出すことができるように

Alias /shared/ "/Users/Jane Doe/Sites/shared" 
<Directory "/Users/Jane Doe/Sites/shared"> 
    Options Indexes MultiViews 
    Order allow,deny 
    Allow from all 
</Directory> 

これはそれを行います。このように見えたローカル環境でのconf

そのドメイン内の/ shared /には、あなたが指し示していたサーバ上のどこにでも行きます。この場合には:あなたの最後の提案のルートを行くことになった

+0

ああ、すべてのドメインは_same_サーバーから実行されていますか?この解決策はそうである限り長く働く。同じサーバー。 – Halcyon

+0

それを明確にしておかなければならない! – Susan

0

各アプリでは、JSライブラリの独自のコピーを提供する必要があります。そのいずれかをCDNに入れてください。

あなたのWebrootには何もないので上に行くことはできません。あなたのWebrootには何もないので、あなたのWebroot内にあるので、Webルート内にあるかどうか確認してください。それを返す。

+0

:/ユーザー/ジェーン・ドウ/サイト//

リソースを共有しました。 PHPを使ってjsを取り出し、適切なapp/domainで生成されたjsファイルに圧縮するminifyメソッドを使いました。使用:http://www.electrictoolbox.com/combine-minify-javascript-php/ – Susan

0

ローカルデパップメントでは、なぜsrcパラメータにhtmlファイルスキームを使用できませんか。イッツ

<?php if ($_SERVER['SERVER_NAME'] == "localhost") { ?> 
    <script type="text/javascript" src="path/to/your/library.js"></script> 
<?php } else { ?> 
    <script type="text/javascript" src="http://mypersonalcdn.com/js/menus.js"></script> 
<?php } ?> 

:たとえば

、(私はあなたのルートフォルダがここに置かれているディレクトリを作ってるんだ、それを変更)

<script type="text/javascript" src="file://Users/bob/projects/root/mypersonalcdn.com/js/menus.js"></script> 
+0

ローカル開発ですが、ローカルサーバ(MAMP経由)で実行されているため、file:// type stuffは動作しません。 – Susan

0

あなたは、このようなあなたのphpファイルを変更することができますそのような問題に対処する共通の方法です。

+0

path/to/your/library.jsを使用するには、特定の/ appドメインのフォルダ内にある必要があります。つまり、各アプリケーション/ドメインにはコピーが必要です。これが私が取り組もうとしていることです。 – Susan

関連する問題