Error en rutas o no existn directorios: /admin, /customer/account/login/, ...

farve

Nuevo usuario
Hola

Instale magento ayer por lo que soy muy novato:impresionado:

La instalacion la hice en una carpeta que se llama tienda.
Siendo esto asi lo logico para entrar al admin seria tienda/admin, pero no va.
no se como y por desesperacion puse /tienda/index.php/admin y si que va.

Pero esque ese error(¿?) en las rutas tambien pasa en la tienda:
donde pone iniciar sesion tiene como enlace customer/account/login/ pero no va, error 404 es decir la pagina no existe.
Pero si pongo index.php/customer/account/login/ si que carga.

He mirado por el ftp y ciertamente no existe ningun directorio que se llame admin, por lo menos en la raiz de la carpeta tienda.

Es un error/problema al que no veo logica:triste:

Espere que podais ayudarme.
Saludos.:hola:
 

OSdave

Super Moderador
Miembro del equipo
no es ningun error, así funciona: todo pasa por el fichero index.php
Si activas la reescritura de url desaparecera.
 

Damian Culotta

Nuevo usuario
@farve

Si te tira error una url sin el index.php, es que no tienen habilitado el uso de direcciones amistosas (url friendly).
Por un lado, tenés que hacer la configuración en Magento, y por el otro, tu servidor Apache debe de tener el módulo habilitado.

Por otra parte, el tema de las url y los directorios. Cada "directorio" que veas en la URL no es necesariamente un directorio físico.
En realidad se usa un modelo de dispatcher, un... ¿lanzador?, ¿manejador? de eventos.
Por ejemplo: /customer/account/login/, termina llamando a un controlador de acciones de, en este caso, dentro del modulo Customer, al Controlador Account, y dentro del controlador, va a ejecutar la acción loginAction.

Es un tema de arquitectura de la plataforma.
 

farve

Nuevo usuario
hola, gracias por responder.

En lo de que los directorios no existen,pueden ser como si fuesen variables que se pasan por GET? al estilo pagina.php?x=1&y=2&z=3. ??

Me podriais decir donde tengo que activar en magento el uso de direcciones amistosas (url friendly).

Porque puede que este activado,si viene activado por defecto, porque lo he buscado y no he encontrado esa opción.

y el problema puede que este en el apache, al cual no tengo acceso, ya que mi host es compartido, ¿o si?:niidea::niidea::guiño:

de todas formas el error como dije es que en la pagina principal de la tienda sale un enlace en el que pone iniciar sesión y te lleva a: /customer/account/login/, le das y error 404. En cambio si pongo en la url /index.php/customer/account/login/
si que va.

Bueno espero vuestras respuestas, si podéis claro:jeje:
saludos!!
 

Xarlie

Super Moderador
Miembro del equipo
En efecto... los rewrite lo que hacen es recibir los datos al estilo de GET pero formados de otra manera.
Por ejemplo:
/esto/es/una/prueba
internamente (según la configuración en el rewrite) cada parte es una variable que o bien se nombra o bien se recoge por valor de posición.

Lo activas en:
Sistema -> Configuración -> Web y la opción de "Optimización para motores de búsqueda" en SI

También tienes que tener en cuenta (si no te funciona) que tu alojamiento ha de permitir override de las propiedades de configuración. Y llegamos a otro punto ya comentado :D si usas XaMPP (windows) no está activado por defecto, aunque dices que es en host compartido y ya me imagino que es tu servidor... pero por si acaso lo pruebas en tu ordenador local.

Generalmente todos los hosting permiten la reescritura con sus ficheros htaccess.

Lo de index.php es porque TODA la tienda pasa por ese fichero, por lo que si no está activa la reescritura necesitas que pase llamando directamente al index.php.
 

OSdave

Super Moderador
Miembro del equipo
para configurar la reescritura de url's tienes que ir en el admin a sistema->configuracion->(web)optimización para motores de búsqueda.
De lo que explicas, me parece que la tienes activada pero que tu servidor no esta configurado para ello. Esto lo puedes ver subiendo un phpinfo en tu servidor y buscar en el apartado Loaded modules si esta presente el mod_rewrite. Si no esta, lo mejor es que digas a tu hosting de habilitartelo.
O quizas es por el htaccess, a ver si Xarlie o Damián te pueden decir más.
 

farve

Nuevo usuario
realmente soy los mas rápidos del oeste :ok::ok:

cuando lo instale hay 3 checkbox y si que active "uno" y debe de ser la misma opcion que aparece despues en web - optimización para motores de búsqueda.
Y mire en el phpinfo(cuando lo instale) si lo tenia funcionando el mod_rewrite, pero como no lo tenia, "googleando" lei que poniendo en el .htaccess, RewriteEngine On funcionaba, al parecer NO

Lo he desactivado y ahora si que funcionan los link y el /admin, vamos que me sale /index.php y yo pongo /admin .

Me imagino que lo ideal seria tenerlo activado no?
Como podría? mi hosting es en una compañia, vamos que no tengo en mi pc, y creo que no me activarian ami nada, que no es un servidor dedicado, es simple-cutre:guiño:
 

OSdave

Super Moderador
Miembro del equipo
hombre, es mejor a cuanto a posicionamiento en los resultados de buscadores, pero no es imprescindible para que la aplicación funcione.
No te cuesta nada pedir que te lo activan o que te dejen sobre escribirlo con el htaccess y ya veras lo que te dicen. Si te dicen que no, pues tu veras si te quedas con ellos o si te vas con otros. Creo que tiene que ser posible encontrar un hosting donde te dejan activarlo.
 

farve

Nuevo usuario
ok, les he llamado y me han dicho que si, que con el .htaccess, poniendo lo siguiente:

Insertar CODE, HTML o PHP:
RewriteEngine on
RewriteBase /
Pero no va, creo que me falta algo.
:enfadado::enfadado:

:hola:
 

Xarlie

Super Moderador
Miembro del equipo
Con eso te debería de funcionar.
Realmente cuando tu activas la opción en la administración te edita el .htaccess que viene en magento y te añade las líneas necesarias.

Si no te funciona debes de consultar con tu proveedor... yo diría que el 98% de ellos admiten eso ya, pero en esta vida hay de todo :D
 
Arriba