현재 vhost_config.conf에는 작동하는 매핑 및 다시 쓰기 규칙이 있으며 아래에 나와 있습니다.대소 문자를 무시하고 매핑을 사용한 RewriteMap
1: RewriteMap vanityURL txt: vanity_map.txt
2: RewriteCond ${vaintyURL:$1|not-found} ^(.+)$
3: RewriteCond %1 ~^not-found$
4: RewriteRule ^/(.*) /${vanityURL:$1|/$1} [L]
내가해야 할 일은 매핑 된 URL이 대소 문자를 무시하는 것입니다.
"[NC]
을 추가하십시오."라고 생각하면 올바르게 생각할 수 있지만 효과는 없습니다.
나는 소문자로 모든 매핑을 가져 얘기 질문을 본 적이 있지만 그 누군가 유형 /BlackFriday
또는 /BlaCKFridAY
에서 (어떤 이유 하나가 그런 일을 강요 할 수 있음) 문제가 해결되지 않습니다.
제가하는 데 문제는 라인과 같은
RewriteRule ^/(.*) /${vanityURL:$1|/$1} [L, NC]
을 사용하면 아무런 영향을주지 않는다는 것이다.
조건 중 하나 또는지도 선언에서 더 일찍 [NC]
플래그가 있어야합니까?
4 번 줄의 'ignore-case'플래그가 작동하지 않는 이유는 무엇입니까? 내가 놓친 다른 것이 있습니까?
흠 보존 중첩하지 작업? 'RewriteMap lc int : tolower','$ {vanityURL : $ {lc : $ 1}}'과 같은 것을 시도한 적이 없습니까? – Wrikken
정상적으로 작동하면 매핑 된 모든 URL은 대소 문자를 구분하지 않고 소문자입니다. 기본 문제가 남아 있습니다. –
님, 당신은 URL의 해당 부분을 바꾸고 있습니다. 강제 소문자 만 일치합니다. 대체품에 고정식 케이스가 있니? – Wrikken