특정 단어를 대문자로 바꿔야하지만 완전히 소문자 인 경우 (특정 단어가 무한 루프를 일으키는 것과 일치하는 경우) 특정 단어를 소문자로 다시 작성해야합니다.Apache에서 단어를 소문자로 다시 쓰다
나는이 함께 들어 왔지만을 혼동하고 왜 작동하지 않습니다 : 나 여기에
# /MaTcHeD to matched
RewriteCond %{REQUEST_URI} ^(?i)matched(\/.*)?$
RewriteRule ^[a-z]*[A-Z]+[^\/]*(\/.*)?$ /matched$1 [R=301,L]
이 URL이 "일치"또는 "일치"또는 "일치"또는 등 '일치'경우라고 그런 다음 URL의 시작 부분에 소문자 ([az])가오고 하나 이상의 대문자 ([AZ]) 뒤에 임의의 "/"문자가오고 그 다음 나머지 URL (옵션 "/"다음에 다른 것). 이러한 조건이 참이면 소문자 "/ matched"로 리디렉션하십시오.
나는 어떤 단어와도 일치하는 많은 해결책을 찾아 보았지만 다른 것들은 대문자로되어 있기 때문에 문제를 일으킬 수 있습니다. 모든 경우에 "일치"만 필요하지만 모두 소문자 인 "일치"로 리디렉션하려면 모두 소문자 여야합니다.
당신은 검사의 몇이를 커버 할 수있는
'RewriteMap'을 사용하지 않는 이유는 무엇입니까? –
RewriteMap을 사용하여 보았습니다.하지만 도움이되지 않은 모든 것이 소문자이거나 대문자로만 표시됩니다. 모든 소문자가 아닌 한 무엇이든 일치시켜야합니다. – Jim
그러면 이전 규칙에서 모두 소문자 인 항목을 일치시키고 lowercasing 규칙을 다시 작성하거나 건너 뛸 수 없습니다. –