我试图在单页面应用程序工作 - 我需要重写所有的URL到index.html,但允许现有的静态文件(.css和.js)作为他们通常会在浏览器中。Nginx重写静态文件到index.html
这是我试图用它来重新编写代码,但它成为我的静态文件的重新编写以及
if (!-e $request_filename)
{
rewrite ^/(.*)$ /?/$1 last;
break;
}
我试图在单页面应用程序工作 - 我需要重写所有的URL到index.html,但允许现有的静态文件(.css和.js)作为他们通常会在浏览器中。Nginx重写静态文件到index.html
这是我试图用它来重新编写代码,但它成为我的静态文件的重新编写以及
if (!-e $request_filename)
{
rewrite ^/(.*)$ /?/$1 last;
break;
}
你实际上并不需要重写的,在nginx的,只是使用try_files像这样:
location/{
try_files $uri /index.html;
}
这样做是对所有网址:
看到http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
这应该工作:
server {
listen 1.2.3.4:80;
server_name domain.eu;
root /usr/local/www/domain.eu/public;
try_files $uri @rewrites;
location @rewrites {
rewrite ^/favicon.ico$ /pictures/favicon.ico last;
rewrite ^ /index.html last;
}
}