htaccess email regex

2

Estou tentando escrever um padrão de maneira que esse link:

link

é interpretado assim:

link

Mas eu não sei escrever. Eu tentei isso, mas não está funcionando. Precisa de ajuda, por favor.

Isto é o que eu escrevi no meu arquivo .htaccess mas não funciona:

Options +FollowSymlinks
RewriteEngine on 
RewriteRule    ^link/go/overview/([A-Za-z0-9-]+)$    /process.php?email=$1    [NC,L]

Obrigado

    
por pollux1er 13.07.2012 / 00:53

1 resposta

4

RewriteRule link/go/(.*)$ process.php?email=$1

Isso parece funcionar. Você deve fazer a validação de e-mail em process.php , não na regra .htaccess por questões de legibilidade (além disso, você pode pelo menos ter uma boa mensagem de erro na página).

Isso funciona porque qualquer coisa depois de link/go/ será correspondida ( . corresponde a qualquer caractere, então .* significa corresponder a qualquer caractere quantas vezes for possível e (.*) significa salvar isso em $1 - The $ no final significa o fim da linha, assim ele corresponderá até o final).

O que você tentou não funcionará porque [A-Za-z0-9-]+ corresponderá apenas a letras e números, sem @ ou . .

    
por 13.07.2012 / 00:55