KCFinder 图像浏览器在编辑页面时出现 404 错误

KCFinder Image Browser gives 404 error when editing a Page

我将 KCFinder 集成到 KCEditor 中,以便在 Codeigniter 站点中上传图像。当我创建一个页面时,它起作用了。我可以将图像上传到服务器并将它们插入到页面中。但是当我从 MySQL 将页面返回到 CKEditor 进行编辑时,当我尝试浏览图像时,KCFinder 抛出 404 错误。

问题是在编辑时,图像浏览器获取 URL 错误!但是编辑页面和创建页面都链接到同一个 KCFinder 文件夹,所以我不明白为什么它在页面编辑期间中断。

以下是 URL 在 ckeditor 的 config.js 文件中的样子:

   config.filebrowserBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=files';
   config.filebrowserImageBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=images';
   config.filebrowserFlashBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=flash';
   config.filebrowserUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=files';
   config.filebrowserImageUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=images';
   config.filebrowserFlashUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=flash';

我解决这个问题的唯一方法是使用 Absolute URL。所以我用 http://localhost.dev 替换了 ../ 所有路径,就像这样 ...

config.filebrowserBrowseUrl = 'http://localhost.dev/kcfinder/browse.php?opener=ckeditor&type=files';  

这解决了问题,但出于可移植性原因,我不喜欢在这种情况下使用 Absolute URLs(每当我将站点移动到不同的环境时,我都必须更改 URL) .有什么办法可以解决这个问题并维护相对 URLs 吗? N/B 任何 painless 替代方案都是最受欢迎的。

如果 KCFinder 在您的 CKEditor 安装的插件文件夹中:

config.filebrowserBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=files' );
config.filebrowserImageBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=images' );
config.filebrowserFlashBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=flash' );
config.filebrowserUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=files' );
config.filebrowserImageUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=images' );
config.filebrowserFlashUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=flash' );