私のウェブサイトには、「root-validation-file」という拡張子のないドキュメントルートに置く必要がある検証ファイルがあります。
しかし、ブラウザからそれを開こうとすると、開くのではなくダウンロードされ、(。txt)などの拡張子を持つ他のすべてのファイルを正常に開くことができます、
私のnginx(1.12)設定:
server {
listen 80;
listen 443 ssl;
root /var/www/website;
error_log /var/log/nginx/website-error.log;
access_log /var/log/nginx/website-access.log;
index index.php index.html index.htm index.nginx-debian.html;
server_name website.com;
ssl_certificate /etc/ssl/website/nginx_bundle.crt;
ssl_certificate_key /etc/ssl/website/website.key;
location / {
index index.php index.html;
try_files $uri $uri/ =404 /index.php?q=$uri&$args;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
root /var/www/website;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/website/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
nginx
は、拡張機能からコンテンツタイプを決定します。ファイルに拡張子がない場合、default_type
が使用されます。
独自のlocation
ブロック内で処理することにより、このファイルのコンテンツタイプを明示的に設定できます。
location = /validation-file {
types {}
default_type text/html;
}
default_type
をファイルに含まれているものに設定します。 text/html
またはtext/plain
など。
詳細については、 このドキュメント を参照してください。