Hostwinds Tutoriais

Resultados da busca por:


Índice


Qual é o arquivo .htaccess?
Habilitando o arquivo .htaccess
Etapa 1: Abrir arquivo de host virtual
Etapa 2: Adicione a diretiva 'allowoverRide All'
Etapa 3: Salvar arquivo
Etapa 4: reinicie o apache
Criando um arquivo .htaccess
Redirecionando um único URL usando a diretiva 'redirecionamento'
Se você deseja redirecionar um URL para outro URL no mesmo domínio:
Se você deseja redirecionar um URL para um em um domínio diferente:
Redirecionar URL em massa usando a diretiva 'rewriturele'
Verifique se 'mod_rewrite está ativado
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):
Como ativar 'mod_rewrite'
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):
Redirecionando URLs com base em um padrão comum
Redirecionando um domínio inteiro para um novo domínio
Forçar https com diretiva 'rewriturele'
Forçar https em todo o tráfego
Forçar https em domínio específico
Adicionando e removendo o prefixo 'www'

Como criar redirecionamentos usando o arquivo .htaccess

Qual é o arquivo .htaccess?
Habilitando o arquivo .htaccess
Etapa 1: Abrir arquivo de host virtual
Etapa 2: Adicione a diretiva 'allowoverRide All'
Etapa 3: Salvar arquivo
Etapa 4: reinicie o apache
Criando um arquivo .htaccess
Redirecionando um único URL usando a diretiva 'redirecionamento'
Se você deseja redirecionar um URL para outro URL no mesmo domínio:
Se você deseja redirecionar um URL para um em um domínio diferente:
Redirecionar URL em massa usando a diretiva 'rewriturele'
Verifique se 'mod_rewrite está ativado
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):
Como ativar 'mod_rewrite'
Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):
Redirecionando URLs com base em um padrão comum
Redirecionando um domínio inteiro para um novo domínio
Forçar https com diretiva 'rewriturele'
Forçar https em todo o tráfego
Forçar https em domínio específico
Adicionando e removendo o prefixo 'www'

Qual é o arquivo .htaccess?

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.

Habilitando o arquivo .htaccess

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.

Etapa 1: Abrir arquivo de host virtual

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' (acima) indica que os arquivos do seu site estão em um subdiretório chamado 'public_html ' dentro do 'nome do domínio'Diretório, uma estrutura comumente usada para separar arquivos públicos de outros arquivos relacionados ao site.A ativação do arquivo .htaccess neste diretório afetará apenas os arquivos em 'public_html'.
  • Exemplo:
/var/www/domain_name/
├── public_html/
│   ├── index.html
│   ├── about.html
│   └── .htaccess
└── logs/
  • '/var/www/domain_name' indica que todos os arquivos do seu site estão localizados diretamente no 'nome do domínio'diretório.Essa configuração significa que todas as diretivas de arquivo .htaccess serão aplicadas a todos os arquivos (ou não a público) nesse diretório.
  • Exemplo:
/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.

Etapa 2: Adicione a diretiva 'allowoverRide All'

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.

Etapa 3: Salvar arquivo

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.

Etapa 4: reinicie o apache

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.

Criando um arquivo .htaccess

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.

Redirecionando um único URL usando a diretiva '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)

Se você deseja redirecionar um URL para outro URL no mesmo domínio:

Redirect 301 "/original_url_path" "/new_url_path"

Se você deseja redirecionar um URL para um em um domínio diferente:


Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"

Redirecionar URL em massa usando a diretiva 'rewriturele'

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.

Verifique se 'mod_rewrite está ativado

Para usar o 'rewriturele', precisamos garantir que o módulo 'mod_rewrite' esteja ativado.

Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):
httpd -M | grep rewrite
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):
apache2ctl -M | grep rewrite

Se você vir a seguinte saída, o módulo 'mod_rewrite' está ativado

rewrite_module (shared)

Como ativar 'mod_rewrite'

Para sistemas baseados em Red Hat (CentOS, Fedora, Rhel):

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
Para sistemas baseados em Debian (Ubuntu, Debian, Linux Mint):

Passo 1: Ativar módulo 'mod_rewrite'

sudo a2enmod rewrite

Passo 2: Reinicie o Apache para aplicar mudanças

sudo systemctl restart apache2

Redirecionando URLs com base em um padrão comum

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.

Redirecionando um domínio inteiro para um novo domínio

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]

Forçar https com diretiva 'rewriturele'

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':

Forçar https em todo o tráfego

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.

Forçar https em domínio específico

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.

Adicionando e removendo o prefixo 'www'

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