Pregunta

Solo quiero obtener una redirección rápida de htaccess. es decir:

domain.com/subfolderGreen - > domain.com/index.php?folder=subfolderGreen

(tenga en cuenta que la subcarpeta verde realmente existe)

Lo he intentado pero no pude llegar a la expresión regular necesaria.

gracias. a.

AÑADIDO:

Lo siento, quiero que esto funcione para cualquier subcarpeta, no solo " subfolderGreen " Estoy usando

RewriteRule ^ / ([^ /] +) /? $ /index.php?folder=$1 [L]

pero no está funcionando. ¿Alguna pista?

¿Fue útil?

Solución

Creo que su ejemplo causaría un bucle sin fin ya que /index.php coincide con lo que está haciendo. Prueba esto:

RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]

Si desea que funcione para todos los directorios que existen, esto probablemente también funcionará.

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]

Otros consejos

RewriteRule ([^/]+)$ index.php?folder=$1

Creo que eso hará el truco.

RewriteRule tiene algunos problemas confusos cuando se usa en .htaccess que requiere la adición de una RewriteBase.

¿Qué errores / problemas estás viendo? Si quiere estar seguro de cómo redireccionar, agregar una [R] a menudo puede ayudar con la depuración.

Finalmente ... ¿existe realmente la subcarpeta verde o no? Si existe, eso podría causar algunos problemas.

Creo que es:

RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]

La línea # 2 manejará el caso si alguien va a website.com/mypage///// por lo que, de forma predeterminada, se convierte en website.com/mypage/ (creo)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top