在 Nginx 中提供静态 HTML 文件而不在 url 中提供扩展名
Serving static HTML files in Nginx without extension in url
根目录=/srv/myproject/xyz/main/
在 "main" 文件夹中,我有几个 *.html 文件,我希望所有文件都指向 url 说 /test/
(这是完全不同的从目录结构)
这是我最基本的 nginx 配置
server {
listen 80;
error_log /var/log/testc.error.log;
location /test/ {
root /srv/myproject/xyz/main/;
#alias /srv/myproject/xyz/main/;
default_type "text/html";
try_files $uri.html ;
}
}
如果我使用简单的别名
location /test/ {
alias /srv/myproject/xyz/main/;
}
然后它的工作完美,我的意思是我可以通过 http://www.myurl.com/test/firstfile.html
等访问那些 html 文件
但我不想要那个 html 扩展名。
我尝试关注这些主题但没有成功
http://forum.nginx.org/read.php?11,201491,201494
How to remove both .php and .html extensions from url using NGINX?
how to serve html files in nginx without showing the extension in this alias setup
试试这个
location ~ ^/test/(.*)$ {
alias /srv/myproject/xyz/main/;
try_files .html =404;
}
根目录=/srv/myproject/xyz/main/
在 "main" 文件夹中,我有几个 *.html 文件,我希望所有文件都指向 url 说 /test/
(这是完全不同的从目录结构)
这是我最基本的 nginx 配置
server {
listen 80;
error_log /var/log/testc.error.log;
location /test/ {
root /srv/myproject/xyz/main/;
#alias /srv/myproject/xyz/main/;
default_type "text/html";
try_files $uri.html ;
}
}
如果我使用简单的别名
location /test/ {
alias /srv/myproject/xyz/main/;
}
然后它的工作完美,我的意思是我可以通过 http://www.myurl.com/test/firstfile.html
等访问那些 html 文件
但我不想要那个 html 扩展名。
我尝试关注这些主题但没有成功 http://forum.nginx.org/read.php?11,201491,201494
How to remove both .php and .html extensions from url using NGINX?
how to serve html files in nginx without showing the extension in this alias setup
试试这个
location ~ ^/test/(.*)$ {
alias /srv/myproject/xyz/main/;
try_files .html =404;
}