A melhor maneira de redirecionar permanentemente vários URLs em um servidor LAMP típico

0

Estou tentando determinar a melhor maneira de encaminhar muitos URLs permanentemente em termos de desempenho e operabilidade. Portanto, há três maneiras possíveis de eu imaginar até agora:

  • RewriteRule
  • Função de cabeçalho do PHP procurando URLs correspondentes em uma matriz
  • Função de cabeçalho PHP em um banco de dados MySql

Não se trata de encaminhar um domínio inteiro, mas apenas alguns URLs de domínios. Como, por exemplo quando os nomes dos produtos mudam de algo para anything_else :

www.example.com/something > www.example.com/anything_else

enquanto URLs como www.example.com/totally_differnt permanecem inalterados.

    
por ptmr.io 26.05.2017 / 11:24

1 resposta

1

Se você gosta muito de gerenciamento e desempenho, sugiro um processo de duas etapas (usamos o mesmo para nossa configuração de roteamento HTTP):

  1. existem URLs no banco de dados para facilitar a manutenção
  2. Um script (bash, PHP, whatever) cria um script PHP a partir do banco de dados e um modelo, definindo um array com o caminho original como chave e o novo caminho como um valor, procurando o caminho do documento solicitado e se encontrado redirecionando para o novo, se não mostrando um 404. Este "script de criação de script" é executado, se o DB muda
  3. O script gerado é usado como um fallback 404

Se você usa o HHVM ou um cache opcode, isso é incrivelmente rápido: o código em si está pronto e tudo o que precisa ser feito é uma pesquisa hashtable.

    
por 26.05.2017 / 11:44