NGINX:重定向 root / -> /new/path 而不破坏页面

NGINX:重定向 root / -> /new/path 而不破坏页面

当我在服务器块中使用它时:

    if ($http_host = "portaldemo.mydomian.tld/") {
       return 301 https://portaldemo.mydomian.tld/new/path/;
    }

我从根域重定向到我想要的子页面。但我的应用程序不再正常工作。如何在不破坏页面的情况下进行重定向?

答案1

正如评论中所提到的 - 没有足够的关于您正在使用的应用程序的信息来提供明确的答案;然而,这通常是由于 Web 应用程序没有意识到它是从子目录中提供服务的。

虽然你请求的资源正在加载,但是在加载初始资源时还会请求应用程序的其他组件(例如 css、js、图像),但仍引用之前的路径。

例如: 的网页/index.html被移至/subdir/index.html,其来源如下

<html>
<head>
<title>mysite</title>
<link rel="stylesheet" type="text/css" href="/mystyles.css">
...snip...

页面index.html将从加载,/subdir/index.html但是请求的资源/mystyles.css不再位于该位置,而是/subdir/mystyles.css

如果 Web 应用程序中这些值是硬编码的,那么需要手动更改它们以匹配新地址。

如果后端是动态的,它可以全局配置前缀(如 wordpress),那么您可以将前缀更新为,/subdir/并且站点应该像以前一样运行。将在您请求资源时加载,但

相关内容