Passando uma URL como uma variável via mod rewrite

1

Eu estou tentando passar um url real como um varible usando o mod_rewrite no apache

Eu tenho uma página externalLink.php que pode ser passada por uma URL para fazer alguma mágica, por exemplo

/externalLink.php?url= link

Eu quero que este seja um bom URL como / external / link

Eu adicionei uma regra de reescrita ao meu htaccess que espero que funcione, mas como suspeita que não funciona.

RewriteRule ^ external /([^/.]+)/*$ /externalLink.php?url=$1 [L]

Alguém sabe se isso é possível?

Obrigado antecipadamente

.k

    
por Keet 07.09.2009 / 18:24

2 respostas

2

Experimente esta regra:

RewriteCond %{THE_REQUEST} ^GET\ /external/(http://[^\ ]*)
RewriteRule ^external/http:/ externalLink.php?url=%1 [L]

Você precisa examinar THE_REQUEST , pois o Apache retira os segmentos do caminho vazio no caminho da URL.

    
por 07.09.2009 / 18:27
1

ocorrerão problemas com as barras em http: //

tente:

RewriteRule ^external/(^http:\/\/.+)/$ /externalLink.php?url=$1 [L]
    
por 07.09.2009 / 18:30