Desenvolvimento e bases de dados
Configurar URLs amigáveis e regras de mod_rewrite
As regras de mod_rewrite permitem encaminhar um URL para outro recurso ou devolver um redirecionamento ao navegador. Na Hostsuar, o LiteSpeed interpreta regras compatíveis com o Apache. É a aplicação que determina que caminhos precisa e como devem ser resolvidos.
Reescrita e redirecionamento
Uma reescrita interna pode servir index.php quando visita /productos, mantendo esse URL no navegador. Um redirecionamento HTTP devolve um destino e o navegador pede outro endereço. Não são intermutáveis: acrescentar um redirecionamento não configura os caminhos internos de um CMS.
Esta linha ativa o processamento de regras no contexto correspondente:
RewriteEngine On
Por si só não cria URLs amigáveis. Precisa das regras concretas da aplicação.
Aplicar as regras do projeto
- Confirme a raiz do domínio e guarde uma cópia privada do
.htaccessexistente. - Obtenha as regras na documentação da aplicação para o seu tipo de instalação, incluindo se está numa subpasta ou se é multisite.
- Se fornecer um ficheiro como
htaccess.txt, reveja o seu conteúdo antes de lhe mudar o nome. Se já existir.htaccess, mantenha também as regras de que o alojamento ou o resto do site precisam. - Ative a opção de URLs amigáveis ou de ligações permanentes da aplicação, quando for o caso.
- Teste uma página interna, um ficheiro estático e um endereço inexistente.
No WordPress, Definições > Ligações permanentes pode regenerar as regras se tiver permissões para escrever o ficheiro; caso contrário, mostra instruções para as aplicar. Não substitua as regras de uma rede multisite pelas de uma instalação simples.
Verificar o resultado
- Se a página inicial funcionar mas as páginas internas devolverem 404, reveja a localização das regras, a raiz do domínio e a configuração de caminhos da aplicação.
- Se houver um ciclo, verifique as regras de HTTPS,
www, subpastas e os redirecionamentos configurados na aplicação ou no proxy. - Se aparecer um 500, reverta a alteração e consulte o registo: pode haver sintaxe incorreta ou uma diretiva não permitida.
No .htaccess, o padrão de RewriteRule é avaliado em relação a esse diretório e normalmente não começa por /. Copiar uma regra da configuração principal do servidor pode exigir adaptá-la. Consulte a introdução oficial ao mod_rewrite quando preparar regras próprias.
Mantenha os URLs antigos que tenham utilização e defina redirecionamentos para o seu equivalente se mudar a estrutura. Evite enviá-los todos para a página inicial: cada destino deve corresponder ao conteúdo que o visitante procurava.
Também lhe pode ser útil
- O ficheiro .htaccess: o que precisa de saber Conheça o alcance recursivo do .htaccess e as opções que permite ajustar por diretório: erros, acess...
- Página de manutenção temporária através do .htaccess Responda temporariamente com um estado 503 e uma página de manutenção através do .htaccess, deixando...
- API do cPanel (UAPI): automatizar correio, FTP e redirecionamentos a partir de SSH, cURL ou PHP Use a API do cPanel com o comando uapi por SSH ou com um token a partir de outro servidor. Exemplos...
- Eliminar emails antigos automaticamente no cPanel Apague todos os dias os emails com mais de X dias de uma conta, de todas as contas de um domínio ou...
Algo não bate certo ou mudou? Diga-nos e revemos.