当我在服务器块中使用它时:
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/
并且站点应该像以前一样运行。将在您请求资源时加载,但