Nginx try_files 使用变量路径传递时加载空白页
Nginx try_files loads blank page when passed with variable path
我正在设置 nginx 以使用 React SPA。当我不包含可变路径 (/rsvp/) 时,页面加载正常。但是当我尝试 (/rsvp/S0mEtH1NG) 时,它会下载索引、清单、css 文件……但它实际上并没有将这些东西应用到 index.html。我几乎只看到我的 index.html 没有实际加载。
我的配置如下所示:
server {
listen 80;
server_name something.com;
location / {
root /srv/something.com/webroot;
index index.html;
}
location /rsvp {
alias /srv/rsvp/build;
try_files $uri $uri/ /rsvp/index.html;
}
}
如果我有 try_files $uri $uri/ /index.html
,它将加载根 (/) 的 index.html,但有一个类似的问题,即它不使用任何 css。
感谢您的帮助,非常感谢!
有一个 long standing issue 与 alias
和 try_files
。我会避免在同一个块中使用这些指令。尝试:
location /rsvp {
alias /srv/rsvp/build;
if (!-e $request_filename) { rewrite ^ /rsvp/index.html? last; }
}
参见 this caution 关于 if
的使用。
我正在设置 nginx 以使用 React SPA。当我不包含可变路径 (/rsvp/) 时,页面加载正常。但是当我尝试 (/rsvp/S0mEtH1NG) 时,它会下载索引、清单、css 文件……但它实际上并没有将这些东西应用到 index.html。我几乎只看到我的 index.html 没有实际加载。
我的配置如下所示:
server {
listen 80;
server_name something.com;
location / {
root /srv/something.com/webroot;
index index.html;
}
location /rsvp {
alias /srv/rsvp/build;
try_files $uri $uri/ /rsvp/index.html;
}
}
如果我有 try_files $uri $uri/ /index.html
,它将加载根 (/) 的 index.html,但有一个类似的问题,即它不使用任何 css。
感谢您的帮助,非常感谢!
有一个 long standing issue 与 alias
和 try_files
。我会避免在同一个块中使用这些指令。尝试:
location /rsvp {
alias /srv/rsvp/build;
if (!-e $request_filename) { rewrite ^ /rsvp/index.html? last; }
}
参见 this caution 关于 if
的使用。