4

tinyMCE のパスに関して、あらゆる種類の奇妙な問題が発生しています。MCImageMana と関係があるかどうかはわかりませんが、セットアップを要約してみます。

.NET Web サイトを持っています。今のところ、アプリケーションのルートはhttp://localhost/APP/にあります

tiny_mce は ~/tiny_mce でホストされ、imagemanager プラグインはもちろん ~/tiny_mce/plugins/imagemanager にあります。

~/uploads は、画像をアップロード/管理する場所です

~/tiny_mce/plugins/imagemanager/web.config には次のキーが含まれています。 <add key="filesystem.rootpath" value="../../../upload" />

また <add key="preview.urlprefix" value="{proto}://{host}/APP/" /> 、アプリのルートがホスト名のルートにないことを説明するために含まれています(真剣に、それをハードコーディングする必要はありません....しかし、それは別の問題です)

これまでのところ、とても良いです -- tinyMCE の画像ダイアログからブラウズすると、画像ブラウザが表示され、正しいフォルダがブラウズされます

画像を選択すると、奇妙さが始まります。「画像の挿入/編集」フォームの「画像 URL」ボックスに入力される内容は次のとおりです。

../APPot/upload/Image.JPG

APPot? なんてこったい?「upload/Image.JPG」だけでいいのではないですか?

これと一緒でした

tinyMCE.init({
//.....
relative_urls: true,
remove_script_host: true,
document_base_url: 'http://localhost/APP/'
});

そしてまた

mcImageManager.init({
relative_urls: true,
remove_script_host: true,
document_base_url: 'http://localhost/APP/'
});

その2番目のものが必要なのか、それとも何かをしているのかさえわかりません

「お」はどこから来ているの?その存在が、document_base_url の使用方法を理解できない理由だと思います。

URLプレフィックスを元の設定にリセットすると、次の <add key="preview.urlprefix" value="{proto}://{host}/" />ようになります:

../アップロード/DSCF0546.JPG

実際にはもう少し近いようです。そこには「ot」は詰め込まれていませんが、ディレクトリはオフになっています。

何が起こっているか知っている人はいますか?

4

2 に答える 2

1

TL;DR

構成例

  • あなたのウェブwww.example.comにはDocumentRootがあります/var/www-data/
  • に画像をアップロードします /var/www/uploads/images
  • static.example.comDocumentRoot を使用して vhost から画像を提供します/var/www

対応設定

  • preview.wwwrootに設定/var/www
  • filesystem.rootpathに設定/var/www/uploads/images
  • (または)preview.urlprefixに設定http://static.example.com//static.example.com

拡張説明

野生の 'ds' が表示されたら楽しくコーディングしてください。

問題は、 が「サーバー」パス ( )でがMoxiecode_ManagerEngine::convertPathToURIであるコードを使用することです。デフォルトでは、MCIE は siteroot の URL を「推測」しようとします (推測は間違っています)。私の場合、アップロードしたファイルを別のサーバーに保存しましたが、サイト URL は少し異なりました。そのため、substr は完全に無関係な部分を削除しました$uri = substr($abs_path, strlen($root));$abs_path/var/www/uploads/images/image.png$root$root = $this->getSiteRoot();/var/www-data/$abs_path

substr('/var/www/uploads/images/image.png', strlen('/var/www-data/')) == 'ds/images/image.png'

preview.wwwrootこれを修正するには、 config ディレクティブを設定する必要があります。設定されている場合、getSiteRoot から返され、それに応じて削除されます。

substr('/var/www/uploads/images/image.png', strlen('/var/www/')) == 'uploads/images/image.png'

のコードMoxiecode_ManagerEngine::convertPathToURIは馬鹿げているので修正する必要がありますが、この解決策で十分です。

于 2014-03-12T15:01:04.780 に答える
0

relative_urls:は true であるためdocument_based_url、パスの生成に使用されます。relative_urls:false に設定してみてください。オプションを説明するドキュメントは次のとおりです。

于 2013-02-27T19:05:54.220 に答える