nginx 和 html 和 css 中的相对 URL

nginx 和 html 和 css 中的相对 URL

我想设置一个这样的服务器

dev.mydomain.com

  • dev.mydomain.com/mysite1(别名 /var/html/mysite1)
  • dev.mydomain.com/mysite2(别名 /var/html/mysite2)

我想要实现的是让 dev.mydomain.com/mysite1/index.html 从 dev.mydomain.com/mysite1 加载相对 URL,而不是从 dev.mydomain.com 加载。我知道这是默认行为,但可以做些什么吗?也许在位置块中使用一些重写?

谢谢 !

答案1

浏览器决定从服务器请求资源时使用的完整 URL。

假设 webroot 是/var/www/html服务器上的目录。假设

如果资源的 HTML URL 像这样指定src="/path/to/file",则浏览器将发出请求http://example.com/path/to/file,并且 nginx 将以 的形式发送文件/var/www/html/path/to/file

现在,如果浏览器已经加载了 URLhttp://example.com/page1并且有一个资源链接src="resourcefile",那么浏览器就会请求http://example.com/page1/resourcefile,并且 nginx 会发送 /var/www/html/page1/resourcefile 中的文件。

这意味着您可以通过使用不以 开头的路径相关 URL 来实现您的目标/。但是,这并不实用。

我建议您为您的开发网站设置子域名(mysite1.mydomain.com 和 mysite2.mydomain.com),并在您的网络服务器上设置新的虚拟主机。

相关内容