CodeIgniter en DreamHost


Warning: Use of undefined constant jq_syntax_htmlentities - assumed 'jq_syntax_htmlentities' (this will throw an Error in a future version of PHP) in /home/luisper1/public_html/pfc.luisperez.org/blog/wp-content/plugins/jquery-syntax/jquery-syntax.php on line 37

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/luisper1/public_html/pfc.luisperez.org/blog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524

Existe un problema con las URLs amigables de CodeIgniter en DreamHost.

Ya te hablamos de evitar mostrar index.php haciendo uso del archivo .htaccess para lo que necesitamos que el servidor tenga habilitado el mod_rewrite, en DreamHost este módulo de Apache viene habilitado por defecto.

El problema viene cuando navegas entres las urls de tu aplicación y aparece el mensaje de error “No input file specified.”

¿ Cómo solucionar este problema de CodeIgniter en DreamHost ?

Hay una solución bastante sencilla, modificar el archivo .htaccess para forzar Apache a considerar todo lo que aparece después de index.php como una petición:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

Sino quieres cambiar el archivo .htacccess deberás cambiar el PHP Mode del dominio de FastCGI a CGI en el panel de control.  Domains -> Manage Domains  -> Edit dominio y selecciona la opción como se muestra en la figura.

Dreamhost PHP CGI

Existe un problema con la directiva “RewriteRule ^(.*)$ /index.php/$1″ si usas FastCGI + Apache 2.2 en DreamHost. Te recomiendo usar la primera solución.

Enlace

Acerca de Luis Pérez Alcaide

Es Ingeniero Técnico Informática / Desarrollador Web / SEO / Social Media. Blogger en diarioaborbo.com y podcaster deGuerrilla. En Twitter, LinkedIn y Google+
Esta entrada fue publicada en Desarrollo y etiquetada . Guarda el enlace permanente.