0

我的角度应用程序包含百分比编码的路线。前任。/页%201

当我运行我的角度应用程序时,ng serve一切正常。

但是当我启动 Scully 静态服务器并访问“http://localhost:1668/Page%201”时,浏览器显示

无法获取 /Page%201

我看着我的./dist/static/assets/scully-routes.json,我可以看到,{"route":"/Page%201"}

这种行为不会发生在没有空间的路线上。

前任。http://localhost:1668/Page2工作得很好。

4

1 回答 1

1

scully 静态服务器提供与未转义 URI 匹配的文件。在您的情况下,当您输入 时http://localhost:1668/Page%201,服务器将尝试查找名为的文件夹,该文件夹/Page 1不存在。

解决方案 1:前端

scully 生成dist/static文件夹后,将所有转义名称重命名为其未转义名称。前任。/foo%20bar//foo bar/.

解决方案2:服务器端

使用 nginx,我将此行添加到我的nginx.conf

      try_files $uri $uri/ $request_uri/index.html /index.html;

$uri 被转义并且 $request_uri 未被转义。

它将尝试/foo bar, 然后/foo bar/然后/foo%20bar/index.html找到匹配项。

建议

如果可以,只需在您的网址中使用 ASCII。

于 2021-12-16T14:34:30.983 回答