problème Rewrite, / contrôleur / action au lieu de /folder/file.php
-
28-10-2019 - |
Question
J'ai un script d'appeler KCFinder.
window.open('/kcfinder/browse.php?type=files', ...);
il doit ouvrir une fenêtre qui contient KCFinder, mais quand je clique sur le bouton « Navigateur », il generatates erreur:
"Uncaught exception 'Zend_Controller_Dispatcher_Exception' avec le contrôleur invalide » un message spécifié (kcfinder) » dans /home/vhosts/vonline_admin/library/Zend/Controller/Dispatcher/Standard.php sur la ligne 248"
Je comprends cette erreur. Il dit que le contrôleur « kcfinder not found », mais kcfinder ne nécessite pas un contrôleur, il est tout simplement un chemin. Bizarrement, je lance le site avec succès dans local, mais quand je l'ai mis sur l'hébergement, il a échoué.
Je pense qu'il est lié à réécrire problème ou de routage, mais je ne sais pas comment le résoudre.
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]
La solution
La seule différence que je vois entre votre fichier htaccess et le mien est dans les RewriteRules; J'ai un astérisque:
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]