2017-09-28 8 views
0

目標は、使用して、ファイルの種類にContent-Type値をマッピング得ることです -nginxのHTTP_ACCEPTは、コンテンツネゴシエーションのための変数にマッピングすることはできません

によって処理され
# nginx.conf 
map $http_accept $suffix { 
    "~*turtle" ".ttl"; 
    default "DEFAULT"; 
} 

- しかし

# sites-available/site 
location /ontologies { 
    root /folder; 
    add_header Vary Accept; 
    add_header X-debug-accept "$http_accept"; 
    add_header X-debug-suffix "$suffix"; 
    try_files $uri$suffix $uri =404; 
} 

、応答はいつも与える -

# curl -I -H "Content-type: text/turtle" URL 
http_accept = */* 
suffix  = DEFAULT, which is actually (blank) 

答えて

1

問題はあなたが間違ってアクセスしていることですヘッダー。あなたはContent-TypeなくAcceptを渡す見ることができるようにあなたは$http_content_typeとない$http_accept

# curl -v -I -H "Content-type: text/turtle" URL 
* Trying ::1... 
* Connected to localhost (::1) port 80 (#0) 
> GET/HTTP/1.1 
> Host: localhost 
> User-Agent: curl/7.47.0 
> Accept: */* 
> Content-Type: text/turtle 

を使用する必要があります。どのヘッダーに基づいて、正しい変数を使用する必要があります。いずれか$http_content_typeまたは$http_accept

関連する問題