Adicione esta linha para evitar a exposição da subpasta no URL

Adicione esta linha para evitar a exposição da subpasta no URL

Eu tenho uma configuração onde um site estático fica na pasta raiz e o Wordpress está localizado em uma subpasta. Portanto, preciso reescrever todas as solicitações em index.html, enquanto todas as solicitações relacionadas ao Wordpress devem ir para a subpasta. Estou conseguindo isso usando dois arquivos .htaccess: um na raiz e outro na subpasta do Wordpress.

Raiz .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-.+
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteRule (wp-.*)$ /wordpress/$1 [L]
# Rewrite rule for frontend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

Subpasta Wordpress .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

Isso funciona, mas quando tento abrir /wp-admin/sou redirecionado /wp-login.php?redirect_to=https%3A%2F%2Fwww.example.com%2Fwordpress%2Fwp-admin%2F&reauth=1para que a subpasta seja exposta no URL.

Existe uma maneira de ocultar a subpasta?

Responder1

Para ocultar a subpasta no URL para solicitações relacionadas ao WordPress, você pode modificar ligeiramente sua configuração. Você pode manter o arquivo raiz .htaccess como está, mas faça algumas alterações no arquivo .htaccess na subpasta do WordPress. Veja como você pode fazer isso:

  1. Modifique o arquivo .htaccess na subpasta do WordPress ( e.g.,/wordpress/) da seguinte maneira:
RewriteEngine em RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L]

Adicione esta linha para evitar a exposição da subpasta no URL

RewriteCond %{REQUEST_URI} !^/wordpress/

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L]

Ao adicionar a condição RewriteCond %{REQUEST_URI} !^/wordpress/ , você garante que as solicitações para a pasta /wp-admin/ não serão afetadas por esta regra de reescrita, portanto, a subpasta não será exposta no URL para solicitações relacionadas ao WordPress.

  1. No seu arquivo raiz .htaccess, você pode simplificar as regras para reescrever para index.html:

    RewriteEngine ativado

    Excluir solicitações para a subpasta /wordpress/ desta regra

    RewriteCond %{REQUEST_URI} !^/wordpress/

    Reescrever regra para frontend

    RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L]

Com essas modificações, as solicitações relacionadas ao WordPress ainda serão tratadas pela subpasta do WordPress, e a subpasta não será exposta na URL ao acessar /wp-admin/. Outras solicitações serão reescritas em index.html na pasta raiz como antes.

informação relacionada