Foros del Web » Administración de Sistemas » Apache »

[SOLUCIONADO] .htaccess y Redirect 301 en MVC

Estas en el tema de .htaccess y Redirect 301 en MVC en el foro de Apache en Foros del Web. Hola estoy creando mi propio Framework con criterios MVC y tengo un problema en la redireccion 301. Tengo un htaccess muy sencillo pero no consigo ...
  #1 (permalink)  
Antiguo 15/06/2014, 01:01
Avatar de Did_Web  
Fecha de Ingreso: junio-2007
Ubicación: El vendrell (Tarragona)
Mensajes: 52
Antigüedad: 17 años, 6 meses
Puntos: 0
.htaccess y Redirect 301 en MVC

Hola estoy creando mi propio Framework con criterios MVC y tengo un problema en la redireccion 301.

Tengo un htaccess muy sencillo pero no consigo hacer la redirección:

Código HTML:
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /MyT/
    Redirect 301 pato/dosx  http://localhost/MyT/pato/dos

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [L]

</IfModule> 
Si entro cualquier url obtengo el resultado deseado pero al entrar la url con redireccion no se crea correctamente:

Quiero que al poner http://localhost/MyT/pato/dosx esta redireccione a una url correcta como seria: http://localhost/MyT/pato/dos

La cual me daría el resultado deseado pero esta se monta así: http://localhost/pato/dos (sin el MyT) por lo tanto da un error 404

Podría crear la redireccion mediante mediante "Header" pero no tengo claro si a nivel de posicionamiento ¿es mejor htacces o headers en php?

Código: https://github.com/Didweb/MyT
Issue: https://github.com/Didweb/MyT/issues/1

Gracias
  #2 (permalink)  
Antiguo 09/07/2014, 00:44
Avatar de Did_Web  
Fecha de Ingreso: junio-2007
Ubicación: El vendrell (Tarragona)
Mensajes: 52
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: .htaccess y Redirect 301 en MVC

Bueno me respondo a mi mismo y para si alguien esta buscando lo mismo espero que le sirva...

He colgado la respuesta también en el issue de GitHub ... https://github.com/Didweb/MyT/issues/1

este código me funciona correctamente para hacer la reedirección...

Código PHP:
<IfModule mod_rewrite.c>
    
RewriteEngine On

    RewriteBase 
/MyT/
    
RewriteCond %{REQUEST_URI} !^/orox
    
RewriteRule ^orox$  http://localhost/MyT/ [R=301,L]

    
RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond 
%{REQUEST_FILENAME} !-d
    RewriteRule 
^(.*)$ index.php?url=$[L]

</
IfModule
Son estas lineas las que me han hecho funcionar el tema...

RewriteCond %{REQUEST_URI} !^/orox$
RewriteRule ^orox$ http://localhost/MyT/ [R=301,L]


... evidentemente http://localhost/MyT/ esto se habría de cambiar por la url de producción, y orox es la url que provoca la re-dirección.

Etiquetas: framework, frameworks-y-php-orientado-a-objetos, htacces, mvc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.