.htaccess 알 수없는 하위 폴더에 대한 다시 쓰기 규칙

Dec 18 2020

다음과 같은 문제가 있습니다.

서버의 내 폴더 구조는 다음과 같습니다. public_html / projects /

트리보기 : 폴더 구조 트리보기

으로 public_html의 폴더이 htaccess로 파일.

프로젝트 폴더 안에 내 파트너가 랜딩 페이지가있는 numerus 폴더를 생성합니다 (index.php 파일이라고 가정 해 보겠습니다).

적용하려는 재 작성 규칙은 언어통화 URL 매개 변수입니다.


예를 들어 다음 URL : https://www.example.com/projects/whatever-project-name/index.php?lang=en¤cy=eur

다음으로 번역되어야합니다. https://www.example.com/projects/whatever-project-name/en/eur/

또한 통화 변수는 선택 사항입니다. (언어 변수는 필수 변수입니다)

따라서 URL도 다음과 같을 수 있습니다. https://www.example.com/projects/whatever-project-name/en/


나는이 문제를 해결하기 위해 며칠 동안 찾고 노력하고있다 (그리고 울고있다). 내 것과 가까운 유일한 해결책은 알 수없는 디렉토리에 대한 RewriteRule입니다.

그러나 나는 그것을 작동시킬 수 없었습니다.

지금까지 내가 가지고있는 것 (하지만 제대로 작동하지 않음)은 다음과 같습니다.

RewriteEngine On
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/([a-zA-Z0-9-]+)/?$ projects/$1index.php?lang=$2&currency=$3
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/?$ projects/$1index.php?lang=$2[L]

답변

2 RavinderSingh13 Dec 18 2020 at 01:13

표시된 샘플을 바탕으로 다음을 시도해 주시겠습니까? URL을 테스트하기 전에 브라우저 캐시를 지우십시오.

RewriteEngine ON
##With currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/([\w-]+)/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en&currency=%2 [L]

##Without currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en [L]