Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

258
Vistas
redirigir 301 a / si la URL contiene index.php

Tengo un blog en laravel 5.8 y quiero redirigir 301 a / hay index.php en la url.

Mi .htaccess es este

 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle www + https RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Redirect if index.php is in the URL RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

He probado este enfoque:

 # Redirect if index.php is in the URL RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

pero el problema es SI hay una url como esta que contiene (?get_params)

 htts://www.example.com/index.php?test

redirigirá 301 a /?test

¿Cómo puedo cambiar la regla para redirigir 301 a / (sin ningún parámetro?) si la URL contiene index.php ?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar el indicador QSD (descartar cadena de consulta) para redirigir sin pasar la cadena de consulta.

Cuando el URI solicitado contiene una cadena de consulta y el URI de destino no, el comportamiento predeterminado de RewriteRule es copiar esa cadena de consulta en el URI de destino. El uso del indicador [QSD] hace que se descarte la cadena de consulta.

 # Redirect if index.php is in the URL RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] RewriteRule (.*?)index\.php /$1 [R=301,NE,L,QSD]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda