2011-05-27 36 views
0

我不知道有什么有趣的它,直到我试图注入js文件与这一个观点:我的.htaccess文件应该如何忽略js文件?

$this->headScript()->appendFile($this->baseUrl('/js/planilla.js')); 
echo $this->headScript(); 

现在,我使用Zend框架,并有当我这样做没有问题与/ public/css文件夹中的任何css文件一样,所以我真的不知道问题可能是什么。 JS的文件夹和js文件确实存在,当我尝试只是访问:通过浏览器,我得到了以下错误消息(HTTP //domain.local/js/planilla.js):

异常信息:

消息:无效控制器所指定的(JS) 堆栈跟踪:

0 /home/fiodorovich/library/ZendFramework/library/Zend/Controller/Front.php(954):Zend_Controller_Dispatcher_Standard->调度(对象(Zend_Controller_Request_Http),Object(Zend_Controller_Response_Http))

1 /home/fiodorovich/library/ZendFramework/library/Zend/Application/Bootstrap/Bootstrap.php(97):Zend_Controller_Front->调度()

2 /家庭/ fiodorovich /库/ ZendFramework /库/ Zend的/ Application.php(366):Zend_Application_Bootstrap_Bootstrap->运行()

3 /home/fiodorovich/public_html/gisele/public/index.php(26):Zend_Application->运行()

4 {}主

请求参数:

array( '控制'=> 'JS', '行动'=> 'planilla.js', '模块'=> '默认', )

现在我的.htaccess看起来是这样的:

提前
SetEnv APPLICATION_ENV development 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_URI} (^.*/gisele.local/.*)$ [NC] 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

任何任何帮助都会受到欢迎和轰的一声,谢谢...

编辑:虚拟主机文件

EDIT2:我得到这个东西的工作。

我不得不将此行添加到文件的application.ini为它工作:

resources.frontController.params.useDefaultControllerAlways = 1 
+0

删除问题一旦被回答就不是Stack Overflow的工作方式。相反,它将围绕未来可能对游客有用的问题进行讨论。您的要求删除该问题已被拒绝,但我必须指出,您仍然有权自己这样做,但我也会建议您不要这样做,除非您从这个问题中看不到SO的未来访问者。 – 2011-05-27 20:02:18

+0

@lasse如果问题可能出于任何人的兴趣,我对这里的问题没有问题。我肯定花了很长时间试图找出什么是不工作,但我找到了一个不同的线程的答案:http://stackoverflow.com/questions/2130530/uncaught-exception-zend-controller-dispatcher-异常。如果你检查你会发现第二个答案实际上回应了我一直在寻找的东西。然而,这个问题没有被选为正确的问题。你在这里待了很长时间,从而知道是否有人会觉得这有帮助。感谢您让我注意。 – 2011-05-27 21:33:58

回答

0

线

RewriteCond %{REQUEST_URI} (^.*/gisele.local/.*)$ [NC] 

看起来很可疑。尝试对其发表评论。 我的.htaccess文件看起来像这样。这是绝对可行的。

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^(.*)$ index.php [NC,L,QSA] 
+0

如果我评论它,我得到一个404每个页面,但索引 – 2011-05-27 16:31:14

+0

你在前面的行中删除了“[OR]”,然后? – akond 2011-05-27 16:35:48

+0

@akmond,它仍然不起作用。我正在使用我的虚拟主机副本更新问题 – 2011-05-27 16:40:24

0

您的.htaccess很好。尝试http://domain.local/js/并检查您的文件是否仍然存在。

zend框架将您的js目录作为控制器,因此,您的公共目录中的“js”是否为css?你也可以试试这个来确定。

RewriteRule ^js(.*)$ – [NC,L] 

或者可能是您的环境设置。让我知道发生什么事。

+0

该文件夹在那里,如果我去http://domain.local/js/我看到的文件。然而,当我添加RewriteRule^js(。*)$ - [NC,L]时,我得到404错误 – 2011-05-27 17:02:41

+0

@ la_f0ka,这意味着您的htaccess工作正常。您应该能够通过http://domain.local/js导航并打开文件 – gonzalobenitez 2011-05-27 17:27:34