O .htaccess é um ficheiro de configuração distribuído, e é como o Apache trata as alterações de configuração por directório.
WordPress usa este ficheiro para manipular a forma como o Apache serve ficheiros do seu directório raiz, e subdirectórios dos mesmos. Mais notavelmente, o WP modifica este ficheiro para ser capaz de lidar com as ligações permanentes.
Esta página pode ser usada para restaurar um ficheiro .htaccess corrompido (por exemplo um plugin de mau comportamento).
Basic WP # WP básico
# BEGIN WordPressRewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php # END WordPress
Top
Multisite # Multisite
WordPress 3.5 e superior # WordPress 3.5 e acima
Se activou Multisite no WordPress 3.5 ou superior, use um destes.
Exemplo de subpasta
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2 RewriteRule ^(+/)?(.*\.php)$ $2 RewriteRule . index.php
Exemplo de sub-domínio
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^wp-admin$ wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(wp-(content|admin|includes).*) $1 RewriteRule ^(.*\.php)$ $1 RewriteRule . index.php
Top
WordPress 3.4 e abaixo # WordPress 3.4 e abaixo
Se instalou originalmente o WordPress com 3.4 ou mais antigo e activado Multisite então, precisa de usar um destes:
SubFolder Example
WordPress 3.0 até 3.4.2
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^(+/)?files/(.+) wp-includes/ms-files.php?file=$2 # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^+/(wp-(content|admin|includes).*) $1 RewriteRule ^+/(.*\.php)$ $1 RewriteRule . index.php # END WordPress
Exemplo de Sub-Domínio
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule . index.php # END WordPress
Top
Exemplos Gerais # Geral Exemplos
Top
Opções # Opções
Ainda opções precedidas por um + são adicionadas às opções actualmente em vigor, e quaisquer opções precedidas por a – são removidas das opções actualmente em vigor.
Valores possíveis para a directiva de Opções são qualquer combinação de:
Nenhuma
Todas as opções são desligadas.
Todas
Todas as opções excepto para MultiViews. Esta é a configuração padrão.
ExecCGI
Execução de scripts CGI usando mod_cgi é permitida.
FollowSymLinks
O servidor seguirá links simbólicos neste directório.
Inclui
Os includes do lado do servidor fornecidos pelo mod_include são permitidos.
IncluiNOEXEC
Os includes do lado do servidor são permitidos, mas os #exec cmd e #exec cgi são desactivados.
Índices
mapas URL para um directório, e nenhum DirectoryIndex, uma listagem formatada do directório.
MultiViews
Conteúdos negociados “MultiViews” são permitidos utilizando mod_negociação.
SymLinksIfOwnerMatch
Siga apenas links simbólicos em que o alvo é propriedade do mesmo id de utilizador que o link.
Isto irá desactivar todas as opções, e depois apenas activar FollowSymLinks, o que é necessário para mod_rewrite.
Options NoneOptions FollowSymLinks
Top
DirectoryIndex # DirectoryIndex
DirectoryIndex define o ficheiro que o Apache servirá se for pedido um directório.
Urlas transversais podem ser dadas, caso em que o servidor devolverá a primeira que encontrar.
DirectoryIndex index.php index.html /index.php
Top
DefaultLanguage # DefaultLanguage
DefaultLanguage fará com que todos os ficheiros que ainda não tenham uma etiqueta de linguagem específica associada a ele utilizem isto.
DefaultLanguage en
Top
Carro por defeito # Carro por defeito
Definir a codificação de caracteres por defeito enviada no cabeçalho HTTP. Ver: Definir a informação do charset em .htaccess
AddDefaultCharset UTF-8
Configurar Carro para Ficheiros Específicos
AddType 'text/html; charset=UTF-8' .html
Configurar para ficheiros específicos
AddCharset UTF-8 .html
Top
ServidorSignature # ServerSignature
A directiva ServerSignature permite a configuração de uma linha de rodapé móvel sob servidor-documentos gerados. Opcionalmente, adicionar uma linha contendo a versão do servidor e o nome do anfitrião virtual às páginas geradas pelo servidor (documentos de erro internos, listagens de directórios FTP, saída mod_status e mod_info, etc.), mas não documentos gerados em CGI ou documentos de erro personalizados).
Ligado
adiciona uma linha com o número da versão do servidor e o ServerName do anfitrião virtual servidor
Desligado
suprime a linha de rodapé
cria um “mailto”:” referência ao ServerAdmin do documento referenciado
SetEnv SERVER_ADMIN [email protected] Email
Top
Forçar Ficheiros a Descarregar # Forçar Ficheiros a Descarregar
O seguinte fará com que quaisquer pedidos de ficheiros terminados nas extensões especificadas não sejam exibidos no browser, mas em vez disso forçará um diálogo “Save As” para que o cliente possa descarregar.
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4
Top
Compressão HTTP # Compressão HTTP
A directiva AddOutputFilter mapeia a extensão da extensão do nome do ficheiro para os filtros que irão processar as respostas do servidor antes de serem enviadas para o cliente. Isto é em adição a quaisquer filtros definidos noutro local, incluindo SetOutputFilter e AddOutputFilterByType. Este mapeamento é fundido sobre qualquer outro já em vigor, substituindo quaisquer mapeamentos que já existam para a mesma extensão.
p>Ver também: https://developers.google.com/speed/docs/insights/EnableCompression
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0 no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Force Compression force para certos ficheiros
Top
Enviar Cabeçalhos HTTP Personalizados # Enviar Cabeçalhos HTTP Personalizados
A directiva de Cabeçalhos permite-lhe enviar cabeçalhos HTTP para cada pedido, ou apenas ficheiros específicos. É possível visualizar um site HTTP Headers usando Firebug, Chrome Dev Tools, Wireshark ou uma ferramenta online.
Header set X-Pingback "http://www.askapache.com/xmlrpc.php"Header set Content-Language "en-US"
Top
Unset HTTP Headers # Unset HTTP Headers
Isto irá desajustar os cabeçalhos HTTP, usando sempre com esforço extra para os remover.
Header unset PragmaHeader always unset WP-Super-CacheHeader always unset X-Pingback
Top
Password Protect Login # Password Protect Login
Isto é muito útil para proteger o ficheiro wp-login.php
. Pode utilizar este gerador htpasswd.
Autenticação Básica
AuthType BasicAuthName "Password Protected"AuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Digest Authentication
AuthType DigestAuthName "Password Protected"AuthDigestDomain /wp-login.php https://www.askapache.com/wp-login.phpAuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Top
Requer IP Específico # Requer IP Específico
Esta é uma forma de apenas permitir o acesso a determinados endereços IP.
ErrorDocument 401 defaultErrorDocument 403 defaultOrder deny,allowDeny from allAllow from 198.101.159.98 localhost
Top
Proteger Ficheiros Sensíveis # Proteger Ficheiros Sensíveis
Isto nega todo o acesso web ao seu ficheiro wp-config, error_logs, php.ini, e htaccess/htpasswds.
Order deny,allowDeny from all
Top
Requer SSL #Requer SSL
Isso forçará o SSL, e exigirá o nome exacto da máquina ou então redireccionará para a versão SSL. Útil num /wp-admin/.htaccess
file.
SSLOptions +StrictRequireSSLRequireSSLSSLRequire %{HTTP_HOST} eq "www.wordpress.com"ErrorDocument 403 https://www.wordpress.com
Top