Apache: 변경 가능한 데이터로 규칙 재작성

Apache: 변경 가능한 데이터로 규칙 재작성

이것을 내 웹서버로 리디렉션해야 합니다.

www.hostname.com/path1/path2/123456789도착하다www.hostname.com/search?q=123456789

이 규칙을 htaccess 파일에 삽입했습니다.

RewriteRule ^/path1/path2/([0-9]+)$ /search?q=$1 [L,R=301]

하지만 작동하지 않습니다 (숫자는 변수입니다).

답변1

.htaccess 파일에는 앞에 슬래시가 없어야 합니다. "각 디렉터리의 접두사(특정 디렉터리의 경우 항상 동일함)는 RewriteRule 패턴 일치를 위해 자동으로 제거되고 상대 디렉터리(슬래시 또는 프로토콜 이름이 앞에 오지 않음) 뒤에 자동으로 추가됩니다. ) 교체".

.htaccess가 어느 디렉토리에 있는지는 모르지만 해당 디렉토리의 접두사를 제거해야 합니다.

RewriteRule ^path1/path2/([0-9]+)$ /search?q=$1 [L,R=301]

… 또는…

RewriteRule ^path2/([0-9]+)$ /search?q=$1 [L,R=301]

… 또는…

RewriteRule ^([0-9]+)$ /search?q=$1 [L,R=301]

관련 정보