当我的布局尝试包含javascript文件时,将我的zend Web应用程序移动到Linux服务器后,我遇到了一个奇怪的问题:-
<?php echo $this->headScript()
->appendFile('/js/jquery/jquery.jqDock.min.js'); ?>
代码通过我的zend_acl工厂:-
if($objAcl->isAllowed($role, $request->getModuleName() .'::'.$request->getControllerName() .'::' .$request->getActionName(), 'view')){
//carry on with loading....
}
请求对象如下所示:-
$request->module = 'ajfit'
$request->controller = 'js'
$request->action = 'jquery'
$request->_baseUri = '/js/jquery/jquery.jqDock.min.js'
当上面的代码被单步执行时,应用程序会抛出以下异常:-
$ex->message = "Resource 'ajfit::js::jquery' not found"
我当然知道我没有将此资源添加到我的$objAcl zend_acl中,并且我知道我不允许访问它,我也不想这样做。这是存在于/public/js/jquery/中的本地资源,应绕过并被视为非 MVC 资源。
当此应用程序在Windows中运行时,它识别出'/js/jquery/jquery.jqDock.min.js"是本地资源,并且不会经过zend_acl。
我的配置中是否缺少某些内容,也许是我的 .htaccess 文件中的设置?
我戴着这个把头发。
谢谢。
安德鲁
你的 .htaccess 一定有问题,你有这些行吗?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
如果是,您的 apache 是否配置为允许使用 htaccess?