Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess和CakePHP的TinyMCE错误_.htaccess_Cakephp_Tinymce - Fatal编程技术网

.htaccess和CakePHP的TinyMCE错误

.htaccess和CakePHP的TinyMCE错误,.htaccess,cakephp,tinymce,.htaccess,Cakephp,Tinymce,在生产环境中包含TinyMCE js文件时,我遇到了一些问题 问题: 一切都很好,但tinymce.min.js无法加载。当我试图在浏览器中查看文件时,它似乎是空白的。我发现该请求有500个服务器错误,所以我认为。htacess重写可能是原因 我制作的任何其他js文件都工作正常,可以通过其url在浏览器中读取 如果我更改tinymce.min.js的内容,文件将被读取并正常工作 CakePHP安装: 它位于共享主机中,我已完成以下操作以使其正常工作: app、plugin、vendor和l

在生产环境中包含TinyMCE js文件时,我遇到了一些问题

问题:

  • 一切都很好,但tinymce.min.js无法加载。当我试图在浏览器中查看文件时,它似乎是空白的。我发现该请求有500个服务器错误,所以我认为。htacess重写可能是原因
  • 我制作的任何其他js文件都工作正常,可以通过其url在浏览器中读取
  • 如果我更改tinymce.min.js的内容,文件将被读取并正常工作
CakePHP安装:

它位于共享主机中,我已完成以下操作以使其正常工作:

  • app、plugin、vendor和lib目录比public_html目录高一级。(在我的例子中是/home2/username/)

  • webroot中的内容被复制到/home2/username/public\u html中

  • 最后,我修改了Cake的常量根,以匹配从webroot复制的index.php文件中的/home2/username/

正如我之前所说的,我唯一能想到的是,当tinymce.min.js开始包含其他js文件时,htaccess会做些什么,但我不擅长apache或重写规则。其他一切都很完美

视图:

javascript文件包含在使用html助手的文章的admin_add和admin_edit视图中,它们不在头html标记之间

<?php echo $this->Html->script('tinymce/tinymce.min'); ?>
<?php echo $this->Html->script('tinymce/init'); ?>

例如,我的admin_add.ctp如下所示:

<?php echo $this->Html->script('tinymce/tinymce.min'); ?>
<?php echo $this->Html->script('tinymce/init'); ?>
<div class="articulo prev">
<?php echo $this->Form->create('Articulo'); ?>
    <fieldset>
        <legend><?php echo __('Crear Articulo'); ?></legend>
    <?php
        echo $this->Form->input('titulo');
        echo $this->Form->input('contenido');
        echo $this->Form->input('categoria_id', array('type' => 'select', 'options' => $categorias, 'label' => 'Categoria', 'empty' => 'Seleccionar'));
        echo $this->Form->input('fecha');
        echo $this->Form->input('usuario_id');
    ?>
    </fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
</div>
<div class="links_interes">
    <title><?php echo __('Acciones'); ?></title>
    <ul>
        <li><?php echo $this->Html->link(__('Listar Articulos'), array('action' => 'index')); ?></li>
        <li><?php echo $this->Html->link(__('Listar Usuarios'), array('controller' => 'usuarios', 'action' => 'index')); ?> </li>
        <li><?php echo $this->Html->link(__('Crear Usuario'), array('controller' => 'usuarios', 'action' => 'add')); ?> </li>
    </ul>
</div>


经过两天的研究,我发现:

由于主机限制,我无法尝试该帖子中提到的任何解决方案,无法编辑php.ini和php函数symlink();不工作,所以

  • 在网站的根目录下创建了一个_noUrlReWrite目录
  • 在那里复制了tinymce目录
  • 向.htaccess添加了一条规则,使目录不受cake重写规则的影响:

    RewriteRule^\u nourrewrite/(.*)\u nourrewrite/$1[L]

  • 最后更改脚本调用以加载完整的url

    echo$this->Html->script(“”)

然后出现了另一个问题,tinymce的工具栏字符看起来很奇怪,好像编码错误

问题出在firefox上,原因是:
firefox(支持v3.5中的@font-face)默认情况下不允许跨域字体。这意味着必须从同一域(和子域)提供字体,除非您可以向字体添加“访问控制允许来源”标题。

然后,我在tinymce文件夹中创建了另一个.htaccess,其中包含:

<FilesMatch "\.(ttf|otf|eot|woff|tiff)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
    </IfModule>
</FilesMatch>

标题集访问控制允许原点“*”

问题解决了

您能显示您的布局吗?我很感兴趣的是,您如何调用JS filePost来添加其中一个视图的实际代码,谢谢。