我正在将ckeditor集成到正在宙斯服务器上运行的cakephp应用程序(因此不能使用.htaccess-我必须使用reprite.script.script)。问题是,CKEditor放入页面头部的路径不起作用,因此编辑器不会加载。
例如,一个生成的路径是:
http://www.example.com/js/ckeditor/config.js?t=B8DJ5M3
如果我去
http://www.example.com/js/ckeditor/config.js
我可以看到该文件,但是一旦我在最后添加?t=B8DJ5M3
时,Cake抱怨它找不到JSCONTROLLER。
我不确定该怎么做 - 是在Cakephp,ckeditor还是Rewrite.script文件中挖掘!接下来我应该尝试什么?
url末尾上的查询字符串用于确保文件没有缓存。似乎在宙斯服务器上的Get Request配置/路由中的某些内容正在尝试找到该确切的文件,包括查询字符串。您将需要创建一个重写,该重写在URL上执行goto减去查询字符串。我在Drupal论坛中找到了一篇非常扎实的文章,有人在其中制作一个可以帮助您的脚本:http://drupal.org/node/46508
RULE_0_START:
# get the document root
map path into SCRATCH:DOCROOT from /
# initialize our variables
set SCRATCH:ORIG_URL = %{URL}
set SCRATCH:REQUEST_URI = %{URL}
# see if theres any queries in our URL
match URL into $ with ^(.*)?(.*)$
if matched then
set SCRATCH:REQUEST_URI = $1
set SCRATCH:QUERY_STRING = $2
endif
RULE_0_END:
然后从那里处理您的goto减去查询字符串。希望有帮助
您可以做这个
在要显示编辑器的视图中,将以下脚本放在页面顶部(或在要包含编辑器的TextAarea之前的某个地方):
<?php echo $this->Html->script('ckeditor/ckeditor');?>
此SCIPT将在您的视图中包含" WebRoot/js/ckeditor.js"文件。创建Textarea并给它一个名为" Ckeditor"的类
<?php echo $this->Form->textarea('content',array('class'=>'ckeditor'))?>
瞧!编辑器现在正在显示而不是原始的文本方面。