Eu tenho um arquivo htaccess no meu diretório principal que redireciona todos os diretórios de nível superior para um arquivo PHP.
-> /Loch
iria para/profile.php?username=Loch
Mas eu também tenho um subdiretório, vamos chamá-lotest
Preciso de uma regra test
que diga: "quaisquer subcaminhos do meu diretório são, na verdade, variáveis GET.
Por exemplo, vincular a/test/hello/hi
Na verdade deveria ir para/test/receiver.php?dataset=hello&action=hi
No entanto, quando uso as seguintes regras em um arquivo htaccess no /test/
diretório, isso não funciona dessa maneira (recebo um erro 500).
RewriteBase /
RewriteEngine On
RewriteRule ^(.*?)/(.*?)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.*?)/?$ /receiver.php?dataset=$1
Espero ter fornecido informações suficientes, por favor ajude! Obrigado.
Responder1
Suas expressões regulares não são válidas. *
e ?
são ambos quantificadores que se aplicam ao caractere anterior e, portanto, *?
não fazem sentido. Você provavelmente quer isso:
RewriteRule ^(.+)/(.+)/?$ /receiver.php?dataset=$1&action=$2
RewriteRule ^(.+)/?$ /receiver.php?dataset=$1