문제

RewriteEngine on
RewriteRule ^/(dir1|dir2|dir3)/(.*)$ /targetfile.php [R,L]

http://www.somesite.com/dir1 -> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir2 -> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir3 -> http://www.somesite.com/targetfile.php

내가 온라인에서 본 것에서 이것은 효과가 있어야합니다. 불행히도 그렇지 않습니다. 통찰력이 있습니까?

도움이 되었습니까?

해결책

.htaccess 파일에서 이것을 사용하려면 패턴에서 선행 슬래시를 제거하십시오. 그리고 전체 경로 세그먼트 만 일치하려면 표현을 조금 변경해야합니다.

그러니 이것을 시도하십시오 :

RewriteEngine on
RewriteRule ^(dir1|dir2|dir3)(/|$) targetfile.php [R,L]

다른 팁

"Dir1"이후의 후행 슬래시를 요구하는 것으로 제한하지 않는 한, 전진 슬래시가 필요하다고 생각하지 않습니다.

시도 : Rewriterule ^(dir1 | dir2 | dir3) $ targetfile.php [QSA, L

문제는 정규 표현식이 디렉토리 이름 (예 : /dir1 /)의 슬래시를 의무화한다고 생각하지만, 예에서 마지막 슬래시는 생략된다고 생각합니다 (http://www.somesite.com/dir1 후행 슬래시가 없습니다).

나는 당신이 함께 시도 할 수 있다고 생각합니다

RewriteRule ^/(dir[1-3]) /targetfile.php [R,L]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top