2012-09-09 30 views
7

creé una prueba Hello World aplicación delgada siguiendo las instrucciones here.Siempre obtener el error 404 en el Marco Delgado al omitir index.php en el URL

Cuando hago esta llamada me sale un error 404:

http://my_server/my_app/hello/John 

En el otro lado, cuando hago esta llamada, funciona grande como me sale un mensaje "Hola John":

http://my_server/my_app/index.php/hello/John 

Pero, por supuesto, no quiero index.php en las URL de mi ... ¿Qué puede estar mal?

======= ======= EDITAR

olvidé al crear el archivo .htaccess como esto (siguiente documentación Marco Delgado, y en el mismo directorio que index.php):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [QSA,L] 

Ahora me sale este error:

/physical_path_to_my_files/index.php was not found on this server 
+1

¿Tiene una 'mod_rewrite' o alguna otra configuración relacionada con la tecnología de servidor va, o se trata simplemente .. ¿Como sugieres? –

+1

Por ejemplo: http://expressionengine.com/wiki/Remove_index.php_From_URLs/ –

+0

Gracias @JaredFarrish. Edité mi publicación: olvidé agregar el archivo .htaccess y ahora recibo un error diferente, :-( –

Respuesta

15

Si el archivo .htaccess está en el directorio /my_app, cambiar sus reglas para:

RewriteEngine On 

RewriteBase /my_app/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [QSA,L] 

Si está en la raíz del documento, es necesario añadir la ruta:

RewriteRule^/my_app/index.php [QSA,L] 
+0

¡Brillante! Establecí el valor de RewriteBase como/my_app/y funcionó como un amuleto, +1! –

+0

¡¡Gracias !! Ni siquiera pude adivinarlo. error tan tonto ...: - | –

5

También puede cambiar el .htaccess a lo siguiente: (tuve un problema similar, y esto lo resolvió para mí) :

.htaccess:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)$ %{ENV:BASE}index.php [QSA,L] 
+0

¡Funcionó un encanto! Estaba teniendo el mismo problema que el OP y esto ayudó. Gracias. – Aleski

1

si la solución Jon Lin no funciona, significa que su archivo .htaccess que no trabaja. puede comprobar que mi añadiendo una línea de basura como

RewriteEngine On 
RewriteBase /loop/v1/ 

This is garbage line 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [QSA,L] 

Esto producirá 503 error si .htaccess funcionando bien, de lo contrario no obtendrá ningún error.

si usted no recibió ningún error, el cambio permitir ninguno para permitir que todos en la sección Directorio del archivo de configuración del Apache o Httpd.conf

Cuestiones relacionadas