url-rewriting 可以用于在 IIS 上零停机部署 PHP 吗?

url-rewriting 可以用于在 IIS 上零停机部署 PHP 吗?

我见过这样的情况:IIS 中的零停机上传/回滚,但对于小型网站来说,ARR 似乎有点过头了。我想知道是否有这样的 web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><rewrite><rules>
  <rule name="Rewrite to current production version">
    <match url="(.*)" /><action type="Rewrite"
      url="production-version-0/{R:1}" />
  </rule></rules></rewrite></system.webServer>
</configuration>

要部署,请放入目录production-version-1,然后覆盖 web.config 以使其指向新版本。这是一个 PHP 网站。我会后悔这样做吗?

答案1

除了每个请求都重写(静态内容也一样)的明显缺点之外,它还可能给自引用脚本带来问题。向 PHP 询问文件名的脚本(例如$_SERVER['SCRIPT_NAME'])将获得重写的 URL,而不是用户浏览器中显示的 URL。

答案2

不可能。点。

瞧,你的问题是,只使用一个系统,你永远无法达到零停机时间,因为有时某些东西出现故障,并且/或者你需要由于修补而重置。要点。

玩弄这个要求不会给你带来任何好处。你至少需要 2-3 个系统,然后你就可以轻松使用 NLB,所以不需要拉任何东西。

相关内容