Могу ли я установить базовый URL-адрес файла web.config? - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь запустить свой PHP веб-сайт на сервере IIS. Я использовал инструмент IIS URL Rewrite, чтобы преобразовать мой файл .htaccess, чтобы получить часть перезаписи. Кажется, это почти работает, но я не могу установить базовый URL-адрес, как в моем файле .htaccess. Поэтому при переходе на страницу за пределами моей индексной страницы он загружает URL без предварительного добавления sla sh. Мой сайт вложен во вложенную папку.

Например, example.com/projects/project01 - это мой сайт, и щелчок по ссылке go на другую страницу сделает следующее: example.com/projects/ project01otherpage вместо example.com/projects/project01/otherpage.

Это мой файл web.config, что мне не хватает? Он отлично работает на сервере XAMPP с файлом .htaccess.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <defaultDocument>
    <files>
        <remove value="index.php" />
        <add value="index.php" />
    </files>
</defaultDocument>
    <security>
      <authentication>
        <basicAuthentication enabled="true" />
      </authentication>
    </security>
    <httpErrors errorMode="Custom">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/error.php" responseMode="ExecuteURL" />
    </httpErrors>
    <rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^(.+)$" ignoreCase="false" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>
  </system.webServer>
</configuration>
...