He instalado Magento en mi servidor de alojamiento compartido. He hecho todos los cambios necesarios en el panel de administración de magento. Todas las url de un trabajo fino. Pero el único problema es que puedo acceder a mis productos en la tienda con:

http://mydomain.com/category/product.html y también con http://mydomain.com/index.php/category/product.html

Quiero saber cómo puedo deshacerme de index.php. Quiero redirigir la url que consta de index.php a la url sin index.php

Antes de publicar aquí he comprobado los foros de magento y también se realizaron búsquedas en stackoverflow, pero no encontró el éxito.

3 Comentarios

  1. 6

    Usted puede capturar la pieza después de la index.php y redirigir al cliente con

    RewriteEngine on
    RewriteRule ^index\.php/(.+)$ /$1 [R,L]
    RewriteRule ^index\.php/?$ / [R,L]

    Esto redirige todas las solicitudes de partida con index.php/ a la URL sin index.php. Además index.php y index.php/ son redirigidos a la página principal.

    Actualización:

    A excluir el área de administración, debe insertar un adicional de RewriteCond antes de la primera regla

    RewriteCond %{REQUEST_URI} !/admin/

    Todos juntos da

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/admin/
    RewriteRule ^index\.php/(.+)$ /$1 [R,L]
    RewriteRule ^index\.php/?$ / [R,L]
    • Perfecto! Esto me ayudará. Pero en la pagina no la redirección. Excepto que todo lo trabajado. He utilizado este para redirigir página de inicio sourcelibrary.org/2011/06/01/…
    • He añadido una regla para redirigir la llanura index.php a la página de inicio.
    • hola, he utilizado el código de arriba en mi .htaccess pero cuando intento guardar algo en mi panel de administración de magento nada se salva. Pero cuando trato de eliminar esas 2 últimas líneas del archivo htaccess funciona bien. Puede decirme por qué?
    • Al quitar las dos últimas líneas, usted no tiene ninguna redirección de nada más y nada interfiere con el área de administración de Magento. Por favor, consulte la actualización de la respuesta.
    • Todo lo que está trabajando ahora. Muchas gracias por la ayuda 🙂
    • Google se está quejando de demasiados duplicar páginas web. He SEO URLS pero nada con index.php se mostrará la página de inicio sin una redirección. He probado tu código, pero example.com/index.php?main_page=page_3 simplemente vuelve a escribir a example.com/?main_page=page_3 y todavía ver como un duplicado de la página.
    • Si no hay redirección, tal vez en otra regla interfiere.

  2. 3

    Si quieres dejar de index.php de TODOS los enlaces en su sitio web, esta solución realmente funcionaba mejor para mí:

    RedirectMatch 301 /index.php/(.*) http://www.yourdomain.com/$1

    Fuente: http://www.lionseo.com/blog/htaccess-redirect-301/

    • Esto funciona para mí, pero ¿cómo escapar de administración de direcciones url o cada vez que redirigir?
    • Esto va a saltar de administración de direcciones url: RedirectMatch 301 ^/index.php/((?!admin).*)$ /$1. Además, el nombre de dominio no es necesario.
    • No funciona para mí.
    • Sola línea en respuesta a mí me funciona perfectamente y no temas relacionados con la administración
  3. 0

    El uso de este se puede escapar de la dirección URL de administración y redirección 301 index.php sin index.php url

    RedirectMatch 301 /index.php/((?!admin).*)$1 http://www.example.com/$1

Dejar respuesta

Please enter your comment!
Please enter your name here