
일부 파일이 앱 자체에서 제공되는 애플리케이션을 구축 중입니다. 나는 서버 측 구성에 능숙하지 않으므로 nginx 구성은 다음과 같습니다.
location ~* (.+)\.(\d+)\.(js|css|png|jpg|jpeg|gif)$ {
try_files $uri $1.$3;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|txt)$ {
access_log off;
expires 30d;
root /var/www/domain_tld/public;
}
나는 두 번째 규칙이 nginx에서 지시된 확장 기능을 제공하기 위한 것이라는 것을 알고 있으며 그것은 멋지지만 다음과 같은 규칙을 갖고 싶습니다.
/data/photos/{string}/{name}.{extension}
미리 감사드립니다
답변1
(.+)\.(\d+)\.(js|css|png|jpg|jpeg|gif)$
나는 당신이 다음 파일과 같은 위치 URI를 서버에 제공하기를 원한다고 가정합니다 /data/photos/$1/$2.$3
.
그러면 다음과 같이 간단합니다(정규식을 약간 수정했기 때문에 모든 사례를 가능한 한 가깝게 허용 목록에 추가하는 것이 완벽할 수 있습니다).
location ~* ^/(?<string>.+)\.(?<name>\d+)\.(?<extension>js|css|png|jpg|jpeg|gif)$ {
root /data/photos;
try_files $string/$name.$extension =404;
}
URI 에 대한 호출은 /myString.file.ext
다음의 콘텐츠를 제공합니다./data/photos/myString/file.ext
모든 nginx 위치는 /
.
또한 각 요청은 다음에 의해 제공된다는 점을 기억하십시오.단 하나따라서 요청에 동시에 적용해야 하는 경우 두 위치를 모두 병합할 수 있습니다.