1

たとえば、ワイルドカードサブドメインがあります。

.example.comはexample.com/app/に移動します

サブドメインの代わりにディレクトリを使用すると、uploadifyは正常に機能するようです。しかし、サブドマンを使用してアップロード画像をクリックしても何も起こりません。フラッシュは正常に読み込まれ、JSエラーは発生しないようですが、ボタンをクリックしてもファイルブラウザが表示されません。ワイルドカードドメインの実行方法が影響するのかもしれませんが、確かではありません。これが私のhtaccessです:

RewriteCond %{HTTP_HOST} ^(.*).example.com
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/app/%1/$1 [P]

また、フルパスを使用してjsファイルとflashファイルを呼び出します。それらはサブドメインの下ではなく、ルートドメインの下にあります。だから私は完全なURLパスを使用します、これは私のjsの例です:

$("#fileInput").uploadify({
      'uploader'       : 'http://example.com/js/upload/_scripts/uploadify.swf',
      'script'         : 'http://sub.example.com/discuss/upload/do_upload/' + session_id,
      'cancelImg'      : 'http://example.com/images/icons/del.png',
      'folder'         : '/files/',
      'multi'          : true,
                'auto' : true,
                'queueSizeLimit' : 10,
                'buttonImg' : 'http://example.com/images/attachafile2.jpg',
                'width' : 91,
                'height' : 23,
                'wmode' : 'transparent'
   });
4

2 に答える 2

2

uploadifyはフラッシュを使用してアップロードを実行します。Flashには、抜け穴があることを除けば、ネイティブブラウザと同じように、同一生成元ポリシーが適用されます。

Flashは、Webサーバーのルートでcrossdomain.xmlというファイルを探します。このXMLファイルは、他のどのドメインがフラッシュを介してそのコンテンツにアクセスできるかを示します。

たとえば、Twitterのクロスドメインファイルは次のとおりです

このファイルを作成または変更して、関連するさまざまなドメインからの接続を受け入れるだけで十分な場合があります。

幸運を!

于 2010-05-17T20:45:02.913 に答える
0

同一生成元ポリシーのウィキペディアのエントリに基づくと、JavaScriptに関する限り、sub.domain.com!= domain.comであるため、これは機能しないように思われます。そうは言っても、JavaScriptが同じドメインを要求していると信じている限り、すべてが桃色でなければならないということにも聞こえます。

Uploadify、元の書き換えられていないパスに投稿し、 Apacheが書き換えを自動的に処理できるように指示した場合、JavaScriptは同一生成元ポリシーに違反しているとは見なしません。

例: JavaScriptリクエストにリマップdomain.com/path/to/fooしてからで、Apacheはそれに応じてリクエストを変換し、JavaScriptは違いを認識しません。foo.domain.com/path/to/foo

于 2010-05-17T20:41:10.753 に答える