Назад | Перейти на главную страницу

Можно ли использовать перезапись URL для развертывания PHP с нулевым временем простоя на IIS?

Я видел это: Нулевое время простоя загрузки / отката в 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. Сожалею ли я, что поступил так?

Помимо очевидного штрафа в виде перезаписи в каждом запросе (в том числе для статического содержимого), это также может вызвать проблемы с саморегулирующимися скриптами. Скрипты, запрашивающие у PHP имя файла (например, $_SERVER['SCRIPT_NAME']) получит переписанный URL-адрес, а не URL-адрес, отображаемый в браузере пользователя.

Не может быть. Точка.

Видите ли, ваша проблема в том, что с одной системой вы никогда не достигнете нулевого времени простоя, потому что иногда что-то выходит из строя и / o вам нужен сброс из-за исправления. Точка.

Игра с этим требованием ни к чему не приведет. Вам нужно как минимум 2-3 системы, и тогда вы можете легко использовать NLB, поэтому не нужно ничего тянуть.