O que é o Apache rewrite?

A PR Nethost usa Apache, o software de servidor HTTP de código aberto, para hospedar seu site. O Apache pode ser personalizado por meio de módulos, e o módulo rewrite está disponível para você usar. O apache rewrite pode redirecionar um URL para outro URL, reescrever URLs solicitados, limitar o acesso ao seu site e muito mais.

Uma regra de reescrita pode ser invocada colocando-a em seu arquivo .htaccess. Abaixo estão alguns exemplos de como você pode usar essas regras para personalizar sua experiência de hospedagem.

Observação: lembre-se de que não oferecemos suporte para codificar isso, nem prometemos fazer seu código funcionar. Alguns desses códigos funcionam em combinação com outros, mas outros não. Aqui estão alguns exemplos de regras que permitem que você faça o seguinte:

Homepage Padrão

#Specify a default home page (index page)
DirectoryIndex home.html

Especificar um endereço de IP

#Allow only specified IPs to access your site
deny from all
allow from 123.123.123.123
allow from 123.123.123.123

Redirecionar todas as páginas

# Redirect all pages from seudominio.com
# to novodominio.com
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.seudominio.com$ [OR]
RewriteCond %{HTTP_HOST} ^seudominio.com$
RewriteRule ^(.*)$ http://www.novodominio.com/$1 [R=301,L]

Prevenir acesso a Subdominios

#Prevent subdomain name loading.
#This goes in htaccess for the primary domain
RewriteCond %{HTTP_HOST} ^subdominio\.seusite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.subdominio\.seusite\.com$
RewriteRule ^(.*)$ “http\:\/\/www\.addon\.com\/$1” [R=301,L]

Forçar acesso Non-www

# Never use www in the domain
# Replace ‘seusite.com’ with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?seusite\.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]

Forçar acesso www

# Always use www in the domain
# Replace ‘seusite.com’ with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?seusite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1seusite.com%{REQUEST_URI} [R=301,L]

Definir pasta padrão home

# Set a default home directory, (this subfolder always loads)
# Replace ‘folder’ with your subfolder name
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ /folder/ [R=301,L]
</IfModule>

Forçar acesso HTTPS

# Always use https for secure connections
# Replace ‘www.seusite.com’ with your domain name
# (as it appears on your SSL certificate)
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.seusite.com/$1 [R=301,L]

Negar acesso a determinados tipos de arquivos

#Do not allow these file types to be called
RewriteEngine on
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|exe|swf)$ – [F,NC]

Remover Index

Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# remove index
RewriteCond %{THE_REQUEST} /index(\.php)?[\s?/] [NC]
RewriteRule ^(.*?)index(/|$) /$1 [L,R=301,NC,NE]

Remover .php

Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [L,R=301]

Adicionar .php para acessar a um arquivo sem redirecionar

Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# add .php to access file, but don’t redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1.php [L]

Lembrando que, deverá editar o arquivo .htaccess dentro do public_html para que as regras apache rewrite sejam habilitadas.

 

 

Fechar Menu