내 요구 사항은 URL이 재 작성 맵 파일에 있는지 확인하는 것입니다.uri가 rewriteemap에 존재하는지 확인하려면 어떻게해야합니까? 아니면 404 페이지로 이동합니까?
RewriteMap plp-map dbm:${http.server.install.base}/dynamicmaps/plp-map
RewriteCond %{REQUEST_URI} ^/en/home/categories/.*
RewriteRule ^(.*) ${plp-map:$1|/content/mysite/en_ca/home/errors/404.html} [PT,QSA]
그것은 /invalid.html에 대한 사용자 정의 404 페이지를로드하는 :하지가 존재하는 경우,이 상태 코드로 사용자 정의 404 페이지를 표시해야합니다
(404)은 원래이 코드는 목적을 제공합니다. 그러나 상태는 200이었습니다. 다음으로 map에 ErrorDocument가없는 경우 goto로 규칙을 작성했습니다. 그렇지 않으면 리디렉션합니다. 아래 : 오류 = ""
map lookup FAILED: map=plp-map[dbm] key=
은 $ 1은 항상 URL을 반환 안 : {$ 1 PLP 맵}
RewriteCond %{REQUEST_URI} ^/en/home/categories/.*
RewriteMap plp-map dbm:${http.server.install.base}/dynamicmaps/plp-map
RewriteCond ${plp-map:$1} =""
RewriteRule .? - [S=2]
RewriteCond %{REQUEST_URI} ^/en/home/categories/.*
RewriteRule ^(.*) ${plp-map:$1} [PT,QSA]
RewriteRule .? - [S=1]
RewriteRule ^(.*)$ - [L,R=404]
ErrorDocument 404 /content/homedepot_ca/en_ca/home/errors/404.html
지금이 규칙은 세 번째 줄한다 RewriteCond $에 실패? 여하튼 나는지도 입력을 점검하는 상태로 URL을 전달할 부분을 놓치고있다. 이 문제를 해결하는 방법? 또한 내 문제에 대한 더 나은 솔루션이 있습니까?
휴 ..이 내 문제를 해결하고 규칙을 단순화 잘. 고마워. –