사용자가 URL로 이동하면 다음과 같이 말하십시오. http://www.domain.com/image/orange.jpg 그러나 orange.jpg
은 존재하지 않지만 orange.png는 .htaccess가 사용자가 찾을 수 있도록 허용 할 수 있습니까?.htaccess는이 상황에서 나를 도울 수 있습니까?
답변
가능해야합니다. mod_rewrite는 파일의 존재 여부를 검사합니다. [L]
플래그를 사용하여 프로세스를 적극적으로 중단하지 않을 경우를 대비하여 여러 번 재 작성을 허용합니다. .
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/image/([^/.]).jpg$
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^/image/([^/.]).jpg /image/$1.png
RewriteCond %{REQUEST_URI} ^/image/([^/.]).png$
RewriteCond %{REQUEST_URI} !-f
RewriteRule - /image/no-found [G,L]
위 적용되는 중앙 서버 구성 (호스트 별 구성) 내부에 정의 된 경우 :
그래서 (검증되지 않은) 출발점으로이 같은 뭔가 시도가있다. .htaccess 스타일 파일의 경우 구문은 약간 다릅니다.이 경우 RewriteRule
내부의 슬래시 (/
)가 없어야합니다. 선택이 있다면 서버 구성에서 다시 작성하십시오. .htaccess 스타일 파일은 해결 방법과 같은 오류가 발생하기 쉽습니다. 가능하다면 그들을 피하십시오.
그러나 이러한 설정은 다소 제한적이고 유지 관리가 까다 롭습니다. 요청을 처리하고 보낼 응답을 결정하기 전에 여러 가지 대안을 확인하는 작은 래퍼 스크립트 (아마 PHP 기반)를 설치하는 것이 더 좋은 대안 일 수 있습니다. 당신은 이런 식으로 요청을 다시 작성할 수 :
RewriteEngine on
RewriteRule ^/image/([^/.])\..+$ /image.php?name=%1
지금 당신은 당신이 서둘러하지 않고 이미지의 기존 버전을 확인하고 원하는대로 헤더와 내용을 반환 할 수있는 스크립트 image.php
로 해당 요청을 제공 할 수 있습니다.
+1입니다. 하지만 아마도 첫 번째 규칙은 존재할 때 요청한 파일의 확장자를 변경하는 것이고, 존재하지 않는 경우 다른 확장자를 갖는 다른 파일을 가져 오지 않을 수도 있습니다. 그래도 이것이 당신의 의도인지 확실하지 않습니다. –
@faa 죄송합니다, 무슨 뜻인지 모르겠군요. 첫 번째 규칙은 JPG 변형이 존재하지 않으면 '확장자'를'.jpg' tp'.png'에서 변경하려고합니다. 이것은 OP가 요청한 것입니다. 왜 그 png 변종이 배달되지 않아야합니까? – arkascha
규칙에 따르면,'png' 변형은'jpg' 확장자를 가진 요청 된 파일이 존재할 때에 만 전달됩니다. 그것은 규칙이'^/whatever ... '을 필요로하는 긍정적 인 조건이며,'무엇이든 '이 존재해야합니다. 어쩌면 당신은'! ^/whatever ... '을 의미했을 것입니다. –
- 1. 나를 도울 수
- 2. 이 나를 도울 수
- 3. 이 아약스 코드로 나를 도울 수 있습니까?
- 4. 안녕하세요, 누군가이 루프로 나를 도울 수 있습니까
- 5. 누군가가 의존성 주입에서 나를 도울 수 있습니까?
- 6. 이 코드 줄에서 나를 도울 수 있습니까?
- 7. 누군가이 SQL 쿼리로 나를 도울 수 있습니까?
- 8. 누군가 나를 교수형 집행자와 도울 수 있습니까?
- 9. 누구나이 간단한 코드로 나를 도울 수 있습니까?
- 10. 누구나 CLLocationManager를 사용하여 나를 도울 수 있습니까?
- 11. 누군가이 단축키 스크립트로 나를 도울 수 있습니까?
- 12. 누구나 트위터로 나를 도울 수 있습니까?
- 13. 누군가 포인터로 나를 도울 수 있습니까
- 14. 누군가이 클래스의 나를 도울 수 있습니까?
- 15. 누군가 나를 도울 수 있습니다
- 16. 이 쿼리에서 나를 도울
- 17. 누군가 내 Htaccess로 나를 도울 사람이 있습니까?
- 18. 누구든지이 코드에서 나를 도울 수 있습니다
- 19. 나는 누군가가 나를 도울 수 있기를 바랍니다
- 20. Google지도 마커 누군가가 나를 도울 수
- 21. 가, 누군가가 나를 도울 수 CodeIgniter의
- 22. 유형 불일치 : 누군가가 나를 도울 수 있다면
- 23. 누군가가 나를 도울 수 있는지 궁금
- 24. 누군가 jQuery 카운트 다운 형식으로 나를 도울 수 있습니까?
- 25. 누군가 내가 얻은 오류로 나를 도울 수 있습니까?
- 26. 아무도 URL 재 작성으로 나를 도울 수 있습니까?
- 27. 누군가가 for 루프 코드로 나를 도울 수 있습니까
- 28. HTACCESS 2 NGINX 규칙, 어떤 것이 나를 도울 수 있습니까?
- 29. 누군가가이 Galaga 게임에 대해 나를 도울 수 있습니까?
- 30. C의 앞으로 선언문으로 누군가가 나를 도울 수 있습니까?
NO; htaccess는 각 요청에 대해 목록 swith 가능한 결과를 사용하지 않습니다. 왜 당신은 잘못된 URL을 echo하고 여전히 올바른 url을 찾고 싶습니까? –
[Multiviews] (http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html#multiviews)를 사용하면이 문제가 해결 될 수도 있습니다. 아이디어는 –