>  Q&A  >  본문

.htaccess는 마지막 5개 디렉터리를 GET 값으로 다시 작성합니다.

다음 URL이 있습니다:

https://sub.example.com/economy/billing/ Payment-check/434/khipu/1000/CLP/1673526088/

다음 URL을 반영하기 위해 마지막 5개 디렉터리를 GET 값으로 변환하고 싶습니다.

https://sub.example.com/economy/billing/ Payment-check/?id=434&gateway=khipu&amt=1000&curr=CLP&ts_ttPageLoad=1673526088

다음과 같은 .htaccess 라인이 있습니다:

으아악

https://htaccess.madewithlove.com/에서 다음과 같은 재작성 결과를 얻었습니다.

https://sub.example.com/index.php?id=economy/billing/ Payment-check/434&gateway=khipu&amt=1000&curr=CLP&ts_ttPageLoad=1673526088

내가 뭘 잘못했나요? 감사해요!

편집: https://sub.example.com/economy/billing/ Payment-check/

에 있는 .htaccess
P粉451614834P粉451614834251일 전327

모든 응답(1)나는 대답할 것이다

  • P粉384679266

    P粉3846792662024-01-17 13:06:03

    정규식 수량자 * 默认情况下是贪婪,因此会消耗尽可能多的内容,然后根据需要回溯。这就是为什么 包含 economy/billing/ payment-check/434 (即尽可能满足正则表达式)。尽管如此,这是假设 .htaccess 파일은 문서 루트에 있습니다(MWL 테스터는 이를 가정합니다).

    단일 경로 세그먼트만 일치시키려면 하위 패턴 캡처에서 슬래시를 제외하세요. ([^/]+).

    또한 규칙의 특성에 따라 이 .htaccess 文件位于 /economy/billing/ payment-check/ 子目录中(而不是根)? “MWL tester”工具假定 .htaccess 文件位于文档根目录中(并且无法更改)。事实上,如果 .htaccess 파일이 서버에서 "작동"하는 하위 디렉터리에 있다고 가정합니다. 그러나 URL 변경이 일치하는 경우 여전히 가능하므로 이는 최적이 아닙니다. 많은 구조.

    .htaccess 文件位于 /economy/billing/ payment-check/.htaccess인 경우 다음을 사용하세요.

    으아아아

    정규 표현식 [^/]+ 슬래시를 제외한 모든 항목과 일치합니다.

    그러나 규칙이 루트 .htaccess 파일에 있는 경우(MWL 테스터가 예상한 대로) 규칙은 다음과 같아야 합니다.

    으아아아

    첫 번째 캡처된 하위 패턴은 이제 replacement문자열(두 번째 인수)에서 반복되는 URL 경로입니다. 이렇게 하면 두 번째 매개변수에서 URL 경로를 수동으로 반복하는 것을 방지할 수 있습니다.

    귀하의 URL에는 경로 세그먼트에 특정 데이터 유형이 필요한 것 같습니다. 예를 들어 첫 번째, 세 번째, 다섯 번째 "인수"는 숫자처럼 보입니다. 이 경우 구체적이고 숫자만 일치해야 합니다. 마찬가지로 네 번째 "매개변수"는 대문자이고 두 번째 매개변수는 소문자입니다. 따라서 구체적으로 다음과 같이 다시 작성할 수 있습니다(하위 디렉터리의 .htaccess 파일 사용):

    으아아아

    예상하는 URL 형식 과만 일치합니다.

    회신하다
    0
  • 취소회신하다