Переписать проблему, / controller / action вместо /folder/file.php - PullRequest
0 голосов
/ 21 марта 2011

У меня есть скрипт вызова KCFinder.

window.open('/kcfinder/browse.php?type=files', ...);

он должен открыть окно, которое содержит KCFinder, но когда я нажимаю кнопку «Браузер», он генерирует ошибку:

"Неисследованное исключение 'Zend_Controller_Dispatcher_Exception' с сообщением «Неверный контроллер указано (kcfinder) 'в /home/vhosts/vonline_admin/library/Zend/Controller/Dispatcher/Standard.php на линии 248 "

Я понимаю эту ошибку. В нем говорится, что контроллер "kcfinder not found", но kcfinder не требует контроллера, это просто путь. Странно, но я успешно запускаю веб-сайт на локальном компьютере, но когда я размещаю его на хостинге, он не работает.

Я думаю, что это связано с проблемой перезаписи или маршрутизацией, но я не знаю, как это исправить.

Vhost: /usr/local/apache2/conf/vhosts/something_admin.conf

ServerName admin.something.com

    ServerAdmin foo@boo.com
    DocumentRoot /home/vhosts/something_admin/www

    SetEnv APPLICATION_ENV development

    TraceEnable off

    <Directory /home/vhosts/something_admin/www>
            Options -Indexes -Includes -ExecCGI -FollowSymLinks
            AllowOverride None
    </Directory>

    RewriteEngine on
    RewriteRule !\.(js|ico|gif|jpg|png|css|swf|txt|htm|html|xml)$

/ index.php

.htaccess в www:

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

1 Ответ

1 голос
/ 21 марта 2011

Единственное отличие, которое я вижу между вашим файлом htaccess и моим, заключается в RewriteRules; У меня есть звездочка:

RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
...