Tengo un archivo htaccess en mi directorio principal que redirige todos los directorios de nivel superior a un archivo PHP.
-> /Loch
iría a/profile.php?username=Loch
Pero también tengo un subdirectorio, llamémoslotest
Necesito una regla test
que diga: "cualquier subruta de mi directorio es en realidad variable GET.
Por ejemplo, vincular a/test/hello/hi
En realidad debería ir a/test/receiver.php?dataset=hello&action=hi
Sin embargo, cuando uso las siguientes reglas dentro de un archivo htaccess en el /test/
directorio, no funciona de esta manera (recibo un error 500).
RewriteBase /
RewriteEngine On
RewriteRule ^(.*?)/(.*?)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.*?)/?$ /receiver.php?dataset=$1
Espero haber proporcionado suficiente información, ¡por favor ayuda! Gracias.
Respuesta1
Tus expresiones regulares no son válidas. *
y ?
ambos son cuantificadores que se aplican al carácter anterior, por lo que *?
no tiene sentido. Probablemente quieras esto:
RewriteRule ^(.+)/(.+)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.+)/?$ /receiver.php?dataset=$1