我在tinyMCE中遇到各种奇怪的路径问题。我不确定它是否与MCImageMana有关我会尝试总结我的设置:
我有一个.NET网站。目前,应用程序根位于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/" />
考虑到应用程序root不在主机名root(严重的是,我不应该硬编码......但这是另一个问题)
到目前为止一直很好 - 当我从tinyMCE中的图像对话框浏览时,我得到图像浏览器并浏览正确的文件夹
当我选择图像时,奇怪就开始了。以下是“插入/编辑图像”表单中“图像URL”框中的内容:
../ APPot /上传/ 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/'
});
我不知道第二个是否必要,甚至做不了什么
“ot”来自哪里?我认为它的存在是为什么它无法弄清楚如何使用document_base_url。
如果我将网址前缀重置为原始设置:<add key="preview.urlprefix" value="{proto}://{host}/" />
,我最终会:
../上传/ DSCF0546.JPG
实际上似乎更接近了。没有“ot”挤在那里,但它是一个目录关闭。
有人知道发生了什么事吗?
答案 0 :(得分:1)
配置示例
www.example.com
包含DocumentRoot /var/www-data/
/var/www/uploads/images
static.example.com
/var/www
投放图片
相应的设置
preview.wwwroot
设为/var/www
filesystem.rootpath
设为/var/www/uploads/images
preview.urlprefix
设置为http://static.example.com
(或//static.example.com
)在狂野&#39; ds&#39;时快乐编码出现!
问题在于Moxiecode_ManagerEngine::convertPathToURI
使用了一段代码$uri = substr($abs_path, strlen($root));
,其中$abs_path
是&#34;服务器&#34;路径(/var/www/uploads/images/image.png
)和$root
是$root = $this->getSiteRoot();
。默认情况下,MCIE会尝试猜测&#34; siteroot url(它猜错了/var/www-data/
)。在我的情况下,我将上传的文件保存到不同的服务器,其中siteurl有点不同。因此,substr删除了$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
的代码是愚蠢的,应该修复,但这个解决方案已经足够了。
答案 1 :(得分:0)
由于relative_urls:
为真,document_based_url
用于生成路径。尝试将relative_urls:
设置为false。以下是一些解释选项的文档: