2011-10-23 27 views
0

我在我的網站上的日誌中有非常奇怪的錯誤。該網站是基於Zend框架和我經常有這樣或類似的錯誤:Zend Framework奇怪的錯誤無效控制器與請求中的一部分javascript源

2011-10-16T03:02:57+02:00 ERR (3): Error requesting: /js/min/,e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find(from ip: 24.132.216.36 
Invalid controller specified (js) 
#0 /application/include/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#1 /application/include/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#2 /application/Bootstrap.php(271): Zend_Application_Bootstrap_Bootstrap->run() 
#3 /application/include/Zend/Application.php(366): Bootstrap->run() 
#4 /public/index.php(11): Zend_Application->run() 
#5 {main} 

現在我知道,有沒有控制器/ JS的。有趣的是,在請求中是jQuery UI腳本的一部分。我沒有關於哪些瀏覽器執行了這些請求以及從哪個網站獲取的信息。 jQueryUI中的腳本是縮小文件jQuery UI Dialog 1.8.16的一部分,但有時錯誤是縮小腳本的不同部分。

我試圖去jQuery用戶界面對話框16年8月1日的來源,我發現這是從腳本代碼:

uiDialogTitle = $('<span></span>') 
    .addClass('ui-dialog-title') 
    .attr('id', titleId) 
    .html(title) 
    .prependTo(uiDialogTitlebar); 

//handling of deprecated beforeclose (vs beforeClose) option 
//Ticket #4669 http://dev.jqueryui.com/ticket/4669 
//TODO: remove in 1.9pre 
if ($.isFunction(options.beforeclose) && !$.isFunction(options.beforeClose)) { 
    options.beforeClose = options.beforeclose; 
} 
uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection(); 

這些錯誤總是隻與jQueryUI的精縮腳本顯示。我也有很多其他的腳本,但只有jQueryUI源代碼有時出現在get請求中。有人有類似的錯誤,可以幫助嗎?

回答

1

這聽起來像是你的js代碼的請求正在通過你的Zend Framework bootstrap進行重寫?在您的.htaccess文件中,您可能需要爲Zend Framework應用程序添加一個不具體的url模式的條目。下面是通常我做什麼:

RewriteEngine on 
RewriteRule  ^images.*$  - [L] 
RewriteRule  ^img.*$   - [L] 
RewriteRule  ^js.*$   - [L] 
RewriteRule !\.(js|ico|gif|jpg|png|css|pdf|doc|xls|csv|txt)$ index.php 
0

我有同樣的問題,htacces變化幫助了我,但後來我發現,真正的原因是,js文件是空的。加入後一些代碼在js文件中的問題解決了,並且根本不需要改變htaccess

相關問題