후행 슬래시가 있는 RewriteRule

후행 슬래시가 있는 RewriteRule

후행 슬래시 유무에 관계없이 일부 링크를 리디렉션해야 합니다.

www.domain.con/foo   → www.domain.com/redirect(작동 중)
www.domain.com/foo/www.domain.com/redirect(작동하지 않음)

나는 이 규칙을 시도해 보았습니다 .htaccess.

RewriteRule (.*)/foo/$ http://www.domain.com/redirect$1 [L,R=301]

답변1

www.domain.com/foo또는를 리디렉션하려면 물음표( ) 를 사용하여 후행 슬래시 선택 항목을 일치 www.domain.com/foo/시켜야 합니다.www.domain.com/redirect/?

RewriteRule ^foo/?$ http://www.domain.com/redirect [L,R=301]

답변2

RewriteRule ^foo/?$ http://www.domain.com/redirect [L,R=301]

이것은 올바른 해결책이지만 변수는 페이지별로 전달되지 않습니다. 캐싱 문제가 있는 경우 다음을 사용하는 것이 좋습니다.https://httpsstatus.io/리디렉션 정보를 캐싱하는 것으로 보이지 않으므로 리디렉션을 확인하세요. 또한 301 대신 302를 사용하여 테스트하면 브라우저가 캐시된 페이지 위치를 고집스럽게 포기하는 것을 방지할 수 있습니다.

관련 정보