URL의 하위 폴더 노출을 방지하려면 이 줄을 추가하세요.

URL의 하위 폴더 노출을 방지하려면 이 줄을 추가하세요.

정적 웹 사이트가 루트 폴더에 있고 Wordpress가 하위 폴더에 있는 설정이 있습니다. 따라서 모든 Wordpress 관련 요청은 하위 폴더로 이동해야 하는 동안 index.html에 대한 모든 요청을 다시 작성해야 합니다. 저는 두 개의 .htaccess 파일을 사용하여 이 작업을 수행하고 있습니다. 하나는 루트에 있고 다른 하나는 Wordpress 하위 폴더에 있습니다.

루트 .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>

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>

이것은 작동하지만 열려고 하면 /wp-admin/리디렉션되어 /wp-login.php?redirect_to=https%3A%2F%2Fwww.example.com%2Fwordpress%2Fwp-admin%2F&reauth=1하위 폴더가 URL에 노출됩니다.

하위 폴더를 숨기는 방법이 있나요?

답변1

WordPress 관련 요청에 대한 URL에서 하위 폴더를 숨기려면 설정을 약간 수정하면 됩니다. 루트 .htaccess 파일을 그대로 유지할 수 있지만 WordPress 하위 폴더의 .htaccess 파일을 일부 변경하세요. 방법은 다음과 같습니다.

  1. WordPress 하위 폴더( /wordpress/)에서 .htaccess 파일을 e.g.,다음과 같이 수정합니다.
RewriteBase /wordpress/ RewriteRule ^index\.php$의 RewriteEngine - [L]

URL의 하위 폴더 노출을 방지하려면 이 줄을 추가하세요.

RewriteCond %{REQUEST_URI} !^/wordpress/

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

RewriteCond %{REQUEST_URI} !^/wordpress/ 조건을 추가하면 /wp-admin/ 폴더에 대한 요청이 이 재작성 규칙의 영향을 받지 않으므로 하위 폴더가 URL에 노출되지 않습니다. WordPress 관련 요청의 경우.

  1. 루트 .htaccess 파일에서 다음 재작성 규칙을 단순화할 수 있습니다 index.html.

    RewriteEngine 켜기

    이 규칙에서 /wordpress/ 하위 폴더에 대한 요청을 제외합니다.

    RewriteCond %{REQUEST_URI} !^/wordpress/

    프런트엔드 규칙 다시 작성

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

이러한 수정을 통해 WordPress 관련 요청은 여전히 ​​WordPress 하위 폴더에서 처리되며 /wp-admin/에 액세스할 때 하위 폴더가 URL에 노출되지 않습니다. 다른 요청은 이전과 마찬가지로 루트 폴더의 index.html에 다시 작성됩니다.

관련 정보