문제

별도의 관리자 시스템에서 업로드 된 이미지를 저장하는 데 사용되는 Webroot 외부의 디렉토리가 있습니다. 이미지는이 형식으로 저장됩니다.

filepath/writable/images/00/00/23/65/filename-236581.jpg

(Webroot가 Filepath/HTML 인 곳)

...예를 들어. 여기서는 236이 데이터베이스의 이미지의 ID이며 파일 시스템은 번호가 매겨진 디렉토리로 나뉘어 100 개 이상의 inode가 하나의 디렉토리 내에서 사용되는 것을 중지합니다.

다음과 같이 프론트 엔드 웹 서버에서 이들 액세스 할 수 있기를 원합니다.

http://(server)/filename-236581.jpg

여기서 Filename은 실제 파일의 이름과 동일한 Seo-Opmentied String입니다.

Mod-Lerewrite가 추가 번호가 매겨진 디렉토리를 포함하도록 URL을 다시 작성하도록 할 수 있으며, Alias를 쓸 수있는/이미지 디렉토리로 리디렉션 할 수 있지만 동시에 둘 다 할 수는 없습니다. 별칭과 mod_rewrite 지시문을 모두 넣으면 별명을 무시하고 오류 로그는 FilePath/HTML/Uploaded-Images를 찾을 수 없다고 불평합니다.

지금까지 내가 가지고있는 것은 다음과 같습니다.

RewriteRule ^(.*)\/([^\/]*)-([0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/00/00/00/00/$2-$3.$4 [L,NC]

... 그리고 마찬가지로,

RewriteRule ^(.*)\/([^\/]*)-([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])\.(gif|jpg|jpeg|png)$ /uploaded-images/$3$4/$5$6/$7$8/$9$10/$2-$3$4$5$6$7$8$9$10$11$12.$13 [L,NC]

alias /uploaded-images "filepath/writable/images"

L]를 제거하면 차이가 없습니다.

도움이 되었습니까?

해결책

l]은 마지막을 의미합니다.

실제로 사용해야 할 것은 [PT] 플래그이며, 다시 쓰기 규칙의 결과 경로는 귀하의 경우 별명 지시문 인 다음 핸들러로 전달되어야 함을 나타냅니다.

pt] 태그는 또한 더 이상 [l]가 필요하지 않은 [l] 태그를 의미합니다.

다른 팁

다시 쓰기가 "마지막"을 의미하는 [l

솔직히 말해서, 나는 이것이 더 많은 재 작문 라인이 무시 될 것이라는 것을 의미했지만 체크 아웃 할 가치가 있다고 생각했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top