Shared Host IIS - IIS Rewrite / Redirect для отображения подкаталога в качестве корня приложения - PullRequest
0 голосов
/ 09 ноября 2019

Я использую WinHost в качестве хостинг-провайдера Windows. У нас был подрядчик, который разрабатывал сайт с использованием WordPress в подкаталогах нашего основного корневого каталога, но хотел бы, чтобы вместо этого наш сайт по умолчанию использовал основной корневой домен.

Например:

Недавно созданный сайт: www.example.com / vendor / web
Идеальная отправная точка: www.example.com

Поскольку это общий хост, у нас есть другие приложения, которые находятся в его подкаталогах, например

www.example.com/Documents  
www.example.com/FTP  
www.example.com/Test    

Прямо сейчас у меня есть web.config с правилами перезаписи IIS для перенаправления всего трафика, кроме запросов в эти конкретные папки, для перехода в / vendor / web. Вот мои текущие правила IIS:

    <rule name="Add www" patternSyntax="Wildcard" stopProcessing="true">
       <match url="*" />
        <conditions>
          <add input="{HTTP_HOST}" pattern="www.example.com" negate="true" />
        </conditions>
        <action type="Redirect" url="https://www.example.com/{R:1}" />
      </rule>

      <rule name="example.com" stopProcessing="true">
        <match url=".*" />
        <conditions>
          <add input="{HTTP_HOST}" pattern="^(www.)?example\.com" ignoreCase="true" />
          <add input="{PATH_INFO}" pattern="^/vendor/web/" negate="true" />
          <add input="{REQUEST_URI}" pattern="^/Documents/*" negate="true" ignoreCase="true" />
          <add input="{REQUEST_URI}" pattern="^/FTP/*" negate="true" ignoreCase="true" />
          <add input="{REQUEST_URI}" pattern="^/Test/*" negate="true" ignoreCase="true" />
        </conditions>
        <action type="Rewrite" url="vendor\web\{R:0}" />   
      </rule>      

... обработка ошибок ...

<customErrors mode="RemoteOnly" defaultRedirect="https://www.example.com/vendor/web">
    <error redirect="https://www.example.com/vendor/web" statusCode="404" />
  </customErrors>

 <httpErrors errorMode="Custom">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" prefixLanguageFilePath="" path="/vendor/web/index.php" responseMode="ExecuteURL" />
  </httpErrors>

Теперь проблема заключается в том, что я должен сохранить расположение файла в корневом каталоге / vendor / webвместе с другими приложениями, находящимися в root / documents, root / ftp, root / testarea и т. д., поэтому перемещение файлов не вариант.

Что я действительно пытаюсь сделать, так это «подделать» отправную точку приложения / vendor / web для всего, кроме каталогов, перечисленных выше.

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...