Резюме: Статические файлы публикуются в / путь / к / корню , Если запроса нет в статических папках, отправка запроса @ a1 блок местоположения.
Статические файлы;
/path/to/root/folder/folder1,111/index.html
/path/to/root/folder/folder1-111/index.html
location / {
root /path/to/root;
error_page 418 = @a1;
if ($request_uri ~ .*.sort.*) { return 418; }
try_files $request_uri $request_uri/index.html $uri.html @a1;
add_header X-debug-static-1 "$request_uri" always;
}
location @a1 {
add_header X-debug-web "$request_uri" always;
include web.conf;
}
Примечание: web.conf собирается в приложение
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 30 Nov 2017 14:56:38 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 111
Connection: keep-alive
X-DNS-Prefetch-Control: off
X-Frame-Options: DENY
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Location: folder/folder1,111
Vary: Accept, Accept-Encoding
X-debug-web: https://www.example.com/folder/folder1,111
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 30 Nov 2017 15:04:14 GMT
Content-Type: text/html
Content-Length: 306730
Last-Modified: Thu, 30 Nov 2017 15:04:09 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: "5a201de9-4ae2a"
X-debug-static-1: /folder/folder1-111
Accept-Ranges: bytes
Q-1 https://www.example.com/folder/folder1,111 Почему этот запрос все еще идет @ a1 расположение? В то время как папка в пути / to / root. Итак, как я могу опубликовать папки с запятыми в именах файлов из статических файлов?
Q-2 Как я могу отправить request_uri на @ a1 если Строка запроса содержит несколько слов?
Пример;
слова: sort, q, page
Если request_uri есть какие-либо слова из вышеперечисленного, отправьте @ a1. Если нет, опубликуйте из статических файлов.
Я нашел ответы на свои вопросы. Последняя и рабочая конфигурация, как показано ниже.
location ^~ / {
root /path/to/root;
error_page 418 = @a1;
if ($request_uri ~ "(.*)(some|word)(.*)") { return 418; }
try_files $request_uri $request_uri/index.html $uri.html @a1;
add_header X-debug-static-1 "$request_uri" always; }
location @a1 {
add_header X-debug-web "$request_uri" always;
include web.conf; }