Menu adicional

Obtenha o MemberPress hoje mesmo! Comece a ser pago pelo conteúdo que você cria! Obtenha o MemberPress agora
  1. Início
  2. Base de conhecimento
  3. Geral
  4. Proteção de conteúdo
  5. Entendendo as regras de reescrita para proteção de arquivos

Entendendo as regras de reescrita para proteção de arquivos

Embora essas instruções ainda sejam válidas, desde então lançamos o complemento de downloads MemberPress, portanto, se você não conseguir fazer com que a proteção de arquivos funcione com o seu servidor da Web, pode dar uma olhada nele. Clique aqui para ler mais sobre o assunto.

MemberPress usa algumas regras avançadas de reescrita do Apache para proteger arquivos não controlados diretamente pelo WordPress. 

Quando suas regras de reescrita estiverem configuradas corretamente, uma regra de URI personalizado no MemberPress deverá ser capaz de proteger qualquer tipo de arquivo, exceto:

php, phtml, jpg, jpeg, gif, css, png, js, ico, svg, woff, ttf e xml

Esses tipos de arquivos são excluídos para evitar possíveis problemas de desempenho.

Veja como você pode criar suas regras de reescrita em vários servidores da Web:

Apache e Litespeed

Observação: O MemberPress desativa nossas regras de reescrita personalizadas por padrão. Talvez seja necessário acessar MemberPress->Settings->General e desmarcar a caixa de seleção "Disable Rewrite Rules" e, em seguida, salvar as alterações para que as regras de URI personalizadas funcionem. 

A maioria dos hosts da Web que oferecem o WordPress está executando o Apache como servidor da Web. Se você estiver executando o Apache e o usuário apache tiver acesso de gravação à raiz do documento (que é a configuração mais comum), então você não deveria ter que alterar suas regras de forma alguma ... O MemberPress deve ser capaz de posicionar automaticamente suas regras de forma adequada.

No entanto, se você precisar editar suas regras de reescrita do Apache, aqui está o que você precisará adicionar após as regras do WordPress:

# BEGIN MemberPress Regras


RewriteCond %{HTTP_COOKIE} mplk=([a-zA-Z0-9]+)
RewriteCond /var/www/somesite.com/wp-content/uploads/mepr/rules/%1 -f
RewriteRule ^(.*)$ - [L]

RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)
RewriteCond %{REQUEST_URI} \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8|ZIP|GZ|TAR|RAR|DOC|DOCX|XLS|XLSX|XLSM|PDF|MP4|M4V|MP3|TS|KEY|M3U8)$
RewriteRule . /wp-content/plugins/memberpress/lock.php [L]


# END MemberPress Regras

Observação: O código deve ser colado diretamente sob o # END WordPess no arquivo .htaccess.

Observação: Você precisará certificar-se de substituir /var/www/somesite.com/ com seu caminho real da raiz do documento.

Nginx

MemberPress não é oficialmente compatível com Nginx como um servidor da Web. No entanto, você pode tenha sorte em conseguir que a equipe de suporte da sua hospedagem na Web implemente um dos seguintes procedimentos para você.

Nginx como um proxy do Apache

Se sua hospedagem na Web usa o Nginx como proxy (na frente) do Apache:

localização ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
  proxy_pass http://localhost:PORT_HERE;
}

Observação: O PORT_HERE precisará ser alterada, seu host deve saber a porta correta # para o apache.

Nginx como um servidor da Web autônomo

Se você estiver usando apenas o Nginx como servidor da Web, poderá ter sucesso com o seguinte bloco de localização no arquivo de configuração do Nginx:

        local ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
                # Configurar variáveis de bloqueio
                set $mplk_uri "/wp-content/plugins/memberpress/lock.php";
                set $mplk_file "/var/www/html/wp-content/uploads/mepr/rules/${cookie_mplk}";

                # não bloqueia o uri de bloqueio
                if ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break; }

                # redireciona se o arquivo de bloqueio for um diretório ou não existir
                if (-d $mplk_file) { rewrite ^ $mplk_uri last; }
                if (!-e $mplk_file) { rewrite ^ $mplk_uri last; }
        }

Se a opção acima não funcionar (especialmente se você estiver no Flywheel Cloud Hosting), tente a versão abaixo:

	location ~ ^/wp-content/plugins/memberpress/lock.php { include fastcgi.conf; }<br>
	local ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {<br>
	       # Variáveis de bloqueio de configuração<br>
       	       definir $mplk_uri "/wp-content/plugins/memberpress/lock.php";<br>
	       set $mplk_file "$document_root/wp-content/uploads/mepr/rules/${cookie_mplk}";<br>
	       # não bloqueia o uri de bloqueio<br>
	       Se ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break; }<br>
	       # redireciona se o arquivo de bloqueio for um diretório ou não existir<br>
	       if (-d $mplk_file) { rewrite ^ $mplk_uri last; }<br>
	       if (!-e $mplk_file) { rewrite ^ $mplk_uri last; }<br>
	}

Observação: Você precisaria alterar o /var/www/html/ da parte do caminho na linha abaixo, para corresponder ao caminho da pasta de instalação do Wordpress

IIS e outros servidores da Web

Atualmente, não temos nenhuma regra compatível com esses servidores da Web.

Este artigo foi útil?

Artigos relacionados

garota do computador

Obtenha o MemberPress hoje mesmo!

Comece a ser pago pelo conteúdo que você cria.