Hola a todos nuevamente aqui con un inconveniente que tengo, en esta ocasion al publicar la app en un hosting, el problema es el siguiente:
Ingreso asi:
Código PHP:
http://miwebsite.com/contactar
Y funciona perfectamente, pero si ingreso asi:
Código PHP:
http://miwebsite.com/publicar
Entonces me lanza el siguiente error:
Código PHP:
Server IP: 208.115.223.180
User agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Server time: 2012-02-17 19:13:18
RequestURI: /publicar
Message: Invalid controller specified (ar)
Trace:
#0 /home/autotoke/public_html/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /home/autotoke/public_html/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /home/autotoke/public_html/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /home/autotoke/public_html/public/index.php(46): Zend_Application->run()
#4 {main}
Request data: array (
'controller' => 'ar',
'action' => 'index',
'module' => 'frontsite',
Como aparece en el request data, identifica al controllador como
ar, cuando deberia ser
publicar, esto sucede con cualquier controlador que inicie con
public...cualquiercosa por lo que entiendo hay un conflicto al reconocer un controller que empieza con estas caracteristicas, recalco que cualquier otro controlador funciona sin problema alguno, inicialmente pense que era alguna configuracion de mi .htaccess pero despues de probar varias configuraciones, sin lograr corregir el inconveniente, otra punto a considerar es que en mi local no tengo este inconveniente.
Entiendo segun el error que me indica, es que pareciera que estuviera intentando acceder al directorio public y dentro buscara el controlador ar, bueno es una especulacion nada mas.
Algo seguramente estoy haciendo mal, quizas alguna configuracion, espero puedan hecharle un vitazo a mis codigos:
este es mi htaccess
Código PHP:
SetEnv APPLICATION_ENV development
#Habilitamos el mod_rewrite
RewriteEngine On
#Ignoramos este archivo, no aplicamos ninguna regla
RewriteRule ^.htaccess$ – [F]
#Si el URI no tiene nada es decir si accedemos a /, hacemos un rewrite a /public/index.php
RewriteCond %{REQUEST_URI} =”"
RewriteRule ^.*$ /public/index.php [NC,L]
#Si el URI no empieza con /public, le adicionamos /public y hacemos el rewrite, de esta manera no necesitamos escribirlo
#RewriteCond %{REQUEST_URI} !^/public/.*$
#RewriteRule ^(.*)$ /public/$1
#Si el archivo existe fisicamente en el servidor no hacemos nada
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ – [NC,L]
#Todo lo que venga /public/cualquiercosa lo redireccionamos al index.php para que el bootstrap haga su trabajo
RewriteRule ^public/.*$ /public/index.php [NC,L]
Este es mi index.php
Código PHP:
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('error_reporting', E_ALL);
// Define root path to application directory
defined('WEB_PATH')
|| define('WEB_PATH', realpath(dirname(__FILE__) . '/../'));
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define enviroment on current application
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Include paths
set_include_path(
implode(
PATH_SEPARATOR,
array(
realpath(APPLICATION_PATH . '/../library'),
realpath(APPLICATION_PATH . '/models'),
get_include_path(),
)
)
);
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
try{
// Run Application
$application->bootstrap()
->run();
} catch(Zend_Exception $e){
echo $e->getMessage();
}
Espero alguien pueda identificar algun detalle en cuanto a la cofiguracion, he revisado en varias ocasiones y no he tenido problemas con estas configuraciones en otros proyectos, de antemano gracias por sus recomendaciones.