kitty+cat.jpg
(하나 또는 다른 등 브라우저가이 litera을 찾으려고하지 키티 %의 2Bcat.jpg에 대한 요청을 불행하게도 때, 둘은)
존재합니다 이 파일 이름은 kitty + cat.jpg가있는 경우 제공됩니다 (그렇지 않은 경우). 404s
kitty % 2Bcat.jpg가 요청되었지만 kitty + cat이되도록 일부 다시 쓰기 규칙을 사용할 수 있습니까? jpg가 존재하지 않고 kitty % 2Bcat.jpg가 실행되면, kitty % 2Bcat.jpg가 제공됩니까?
일부 논리는 이미징 중이지만 일부 조각은 여전히 누락되었습니다.
RewriteCond %{REQUEST_FILENAME} \%2B
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . %{REQUEST_FILENAME} [L]
- 어떻게 아파치가 문자 그대로 서버를 제공합니까?
아마도 실제로 아파치 키티 + 고양이로보고 결코 %의 2B로 검사 할 수있는 기회를 얻을 수 없기 때문에이 같은 다른 뭔가를해야?
RewriteCond %{REQUEST_FILENAME} \+
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\+(.*)$ $1\%2B$2 [L]
그러나 불행하게도 그 여러 %의 2B 및 기타 인코딩이있을 수 있으므로 충분히 강력하지 않다.
를 작동 할 수 있음을 보인다 % 2B ~ +? –
그것에 대해 좀 더 생각해 보면, 기술적으로 파일이 키티처럼 요구되어서는 안됩니다. % 252Bcat.jpg ... %는 URL 인코딩되어야합니다. –