Como posso acrescentar HTTP_REFERER a seqüência de caracteres de consulta usando o .htaccess?

StackOverflow https://stackoverflow.com/questions/1132268

Pergunta

No meu .htaccess eu tenho um conjunto de regras de como se segue:

RewriteRule ^dir/page1$ /bleh/docs/?id=12 [L,QSA]
RewriteRule ^dir/page2$ /bleh/docs/?id=13 [L,QSA]
RewriteRule ^dir/page3$ /bleh/docs/?id=14 [L,QSA]

Às vezes, um desses regras podem ser acessados através de um redirecionamento a partir de outro site (referer).Eu gostaria de ser capaz de acrescentar a referência para a seqüência de caracteres de consulta como esta:

RewriteRule ^dir/page2$ /bleh/docs/?id=13&ref=%{HTTP_REFERER} [L,QSA]

No entanto, isso não parece funcionar.

O que estou fazendo de errado?

Foi útil?

Solução

Se você está soletrando http_referer (isso não está claro devido a edições), você está fazendo isso corretamente. Se não estiver funcionando nesse ponto, é porque o referente não está sendo fornecido. (Que existem inúmeras razões para; fornecê -lo está a critério do navegador.)

Outras dicas

A variável de referência que utiliza o common erro de ortografia: HTTP_REFERER.Ver este cheat-folha de para alguns mais nomes de variáveis.

Até onde eu sei, uma reescrita de URL não remova o original Referer cabeçalho embora, então você ainda deve ser capaz de buscá-lo a partir de seu código sem passá-lo como parâmetro de cadeia de consulta (desde que ela dá a você acesso o HTTP variáveis).

Um método testado que funciona para mim e transfere o Refferador através de um redirecionamento 301.https://webmasters.stackexchange.com/questions/4665/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top