Hostwinds Tutoriais
Resultados da busca por:
Índice
O arquivo .htaccess é um arquivo de configuração usado principalmente pelos servidores da Web Apache para controlar vários aspectos do comportamento do site por diretório.Ele permite substituir as configurações em todo o servidor e aplicar configurações específicas a diretórios individuais sem modificar diretamente o arquivo de configuração do servidor principal.
O arquivo .htaccess se destaca como uma ferramenta notavelmente poderosa para gerenciar várias tarefas de site de back -end com eficiência.Uma das tarefas mais comuns é implementar redirecionamentos, onde Você pode executar redirecionamentos no nível dos URLs individuais, em domínios inteiros e até no nível do protocolo HTTP.
Neste tutorial, examinaremos as inúmeras opções. HTACCESS OFERTAS PARA REDIEÇÃO, Passando você pelas várias implementações para que você possa redirecionar efetivamente seus URLs com confiança.
Habilitar o arquivo .htaccess diz aos servidores da Web Apache para reconhecer e aceitar as diretrizes escritas nele, que o configurará para substituir as configurações padrão do servidor no nível do diretório.
Se você tem um Hospedagem Compartilhada Conta, seu provedor de serviços de hospedagem já deve ter ativado, então tudo o que você precisa fazer é criar um arquivo.
Usando seu editor de texto preferido (usaremos nano Para este exemplo), abra o arquivo de configuração do seu site com o seguinte comando:
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
sudo nano /etc/httpd/conf/httpd.conf
Para sistemas baseados em Debian (Debian, Ubuntu, Linux Mint):
sudo nano /etc/apache2/sites-available/domain_name.conf
O bloco de arquivos virtualhost será algo assim:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName domain_name
ServerAlias www.domain_name
DocumentRoot /var/www/domain_name/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Nota: Dependendo de como os arquivos do seu site são organizados, o 'Documentroot' pode diferir.Existem duas configurações comuns:
/var/www/domain_name/
├── public_html/
│ ├── index.html
│ ├── about.html
│ └── .htaccess
└── logs/
/var/www/domain_name/
├── index.html
├── about.html
└── .htaccess
Embora ambos sejam válidos, é importante estar ciente de quais arquivos do site você pode ou não querer ser afetado pelo arquivo .htaccess.
Dentro do VirtualHost Bloco Adicione o seguinte bloco de conteúdo do diretório:
<VirtualHost *:80>
<Directory /var/www/domain_name/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Esta diretiva, especificamente 'Allowoverride tudo'É o que permite que você aplique diretrizes .htaccess em todos os arquivos do site no diretório especificado.
Depois de adicionar o bloco de diretório, salve e feche o arquivo.Em Nano, isso pode ser feito pressionando Ctrl +x, então Y e pressionando ENTRAR.
Para a facilidade completa do arquivo .htaccess, você precisará reiniciar o Apache:
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
sudo systemct1 restart httpd
Para sistemas baseados em Debian (Debian, Ubuntu, Linux Mint):
sudo systemct1 restart apache2
É isso!O Apache agora permitirá que você use arquivos .htaccess no diretório especificado.
Com suporte para .htaccess habilitado, agora podemos criar o arquivo .htaccess.
Para criar o arquivo .htaccess, você precisa ir para o diretório raiz onde você ativou o arquivo .htaccess.Usando o seu editor de texto preferido (novamente, usaremos o Nano) insira o seguinte comando, substituindo 'nome do domínio'Com seu nome de domínio.
Nota: Remover 'public_html'Se você não ativou o arquivo .htaccess nesse subdiretório.
sudo nano /var/www/html/domain_name/public_html/.htaccess
Agora você criou um arquivo .htaccess e pode começar a estabelecer diretivas de redirecionamento.
o 'Redirecionar'A diretiva é a opção mais direta para redirecionamentos simples de 1 para 1.Esta diretiva pode ser usada para redirecionar URLs no mesmo domínio ou para um domínio diferente.As diretivas a seguir funcionarão para qualquer código de status 3xx (301, 302, 307 e 308)
Redirect 301 "/original_url_path" "/new_url_path"
Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"
O 'Reescriture'A diretiva permite adicionar regras adicionais aos redirecionamentos, como a correspondência de padrões, através do uso de expressões e condições regulares.
Para usar o 'rewriturele', precisamos garantir que o módulo 'mod_rewrite' esteja ativado.
httpd -M | grep rewrite
apache2ctl -M | grep rewrite
Se você vir a seguinte saída, o módulo 'mod_rewrite' está ativado
rewrite_module (shared)
Passo 1: Abra o arquivo de configuração do Apache (geralmente 'httpd.conf' ou 'apache2.conf')
sudo nano /etc/httpd/conf/httpd.conf
Passo 2: Verifique se a linha a seguir não é comentada (sem # no início).Se for, basta excluir '#'
LoadModule rewrite_module modules/mod_rewrite.so
Etapa 3: Reinicie o Apache para aplicar mudanças
sudo systemctl restart httpd
Passo 1: Ativar módulo 'mod_rewrite'
sudo a2enmod rewrite
Passo 2: Reinicie o Apache para aplicar mudanças
sudo systemctl restart apache2
Se você tiver um padrão comum em seus URLs antigos, como o mesmo subdiretório (Ex. /Blog), poderá usar expressões regulares para combinar e redirecioná -las:
RewriteEngine On
RewriteRule ^old-section/(.*)$ http://www.example.com/new-section/$1 [R=301,L]
Neste exemplo, qualquer URL que começa com 'seção antiga/' será redirecionado para 'nova seção/' com o mesmo sufixo.
A diretiva a seguir redirecionará todo o tráfego de 'old-domain.com' para 'new-domain.com, 'preservando o caminho URI.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]
Quando você "força o HTTPS", significa que você está redirecionando qualquer solicitação HTTP recebida do seu site para a versão HTTPS segura.
Existem algumas maneiras de forçar os HTTPs usando a diretiva 'rewriturele':
Quando você forçar o HTTPS em "All Tráfego", você está dizendo ao servidor para redirecionar todas as solicitações HTTP de entrada para HTTPs, independentemente do domínio ou subdomínio.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Esse método de HTTPS forçado é ideal para servidores que hospedam um único domínio.
Ao forçar o HTTPS em um domínio específico, você está dizendo ao servidor para redirecionar solicitações HTTP para HTTPS apenas para esse domínio específico (ou subdomínio).
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?specific-domain\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Forçar https com esse método é particularmente útil ao hospedar vários domínios em um único servidor e você só precisa proteger um número de seleção.
Você também pode usar o arquivo .htaccess em conjunto com a diretiva 'rewriture' para redirecionar o prefixo 'www'.
Para adicionar prefixo 'www':
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
Para remover o prefixo 'www':
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Escrito por Hostwinds Team / Junho 3, 2024