programing

RewriteRule에서 폴더/디렉토리 제외

lastmemo 2023. 3. 7. 21:01
반응형

RewriteRule에서 폴더/디렉토리 제외

표준 WordPress .htaccess를 사용하고 있으며 다음 URL을 다시 씁니다.

# BEGIN WordPress 
<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteBase /  
RewriteRule ^index\.php$ - [L]  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L]  
</IfModule> 
# END WordPress  

WordPress가 도메인 루트에 설치되어 있습니다.서브폴더에는 /opencart 등의 다른 스크립트가 있습니다.이 서브폴더에는 독자적인 .htaccess 파일이 포함되어 있습니다.

유감스럽게도 WordPress는 이러한 스크립트 중 일부에 대해 개서를 가로채는 경우가 있는 것 같습니다.

opencart 등의 특정 서브폴더에서 WordPress 규칙을 무시하고 대신 이러한 서브폴더 내의 .htaccess에 정의된 규칙을 사용하도록 mod_rewrite에 요청하려면 어떻게 해야 합니까?

WP 규칙 집합 전체를 다음 규칙 집합으로 대체해 볼 수 있습니다.

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# Include in the next line all folders to exclude
RewriteCond %{REQUEST_URI}  !(folder1|folder2|folder3) [NC]

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

사이트 루트의 .htaccess 파일에서 다음 WordPress .htaccess 지시어를 추가합니다.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR]
RewriteRule ^.*$ - [L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteRule ^/(folder1)/(.*) /folder1/$2 [R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L,R]

</IfModule>

# END WordPress

언급URL : https://stackoverflow.com/questions/15295366/exclude-a-folder-directory-from-rewriterule

반응형