У меня проблема с перенаправлениями на IIS 10 с сайта PHP.
При использовании файла Apache: .htaccess в корне
RewriteEngine On
RewriteRule ^(.*)$ www/$1 [L]
В папке www у меня есть этот .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
Я хочу повторить это поведение, используя IIS 10, но я опробовал варианты, которые я пробовал, было неверно.
Web.config в корне:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="wwwRedirect" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<action type="Rewrite" url="www/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
ВПапка www У меня есть этот web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<remove name="wwwRedirect" />
<rule name="indexRedirect" stopProcessing="true">
<match url="\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$" ignoreCase="false" negate="true" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Теперь я получаю HTTP 404.0 - Not Found при доступе к сети.
Когда я открываю Интернет, я перенаправляюсь на wwwпапку и там в index.php в качестве файла по умолчанию.Индекс вызывает URL-адрес входа / входа, поэтому я нахожусь на localhost / вход / вход, но IIS ищет файл \ www \ sign \ in