Asp.net httpredirect: перенаправить все страницы, кроме одного
-
27-10-2019 - |
Вопрос
Я использую этот код в web.config в одной из папок моего веб -сайта, чтобы перенаправить все страницы на корень, потому что я хочу постоянно закрыть этот раздел.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location>
<system.webServer>
<httpRedirect enabled="true" destination="http://www.example.com/" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
Но мне нужно сделать исключение из этого правила: я не хочу, чтобы моя страница "default.aspx" перенаправляла. Как я могу это сделать?
Решение
Вы можете добавить подстановку следующим образом, чтобы перенаправить только определенные файлы:
<configuration>
<system.webServer>
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
<add wildcard="*.php" destination="/default.htm" />
</httpRedirect>
</system.webServer>
</configuration>
Но я не уверен, сможете ли вы отменить это, чтобы он игнорировал определенный файл.
Другие советы
Поместите свой default.aspx как <location>
с инвалидом httpredirect. Неважно, если вы положите <location>
до или после <system.webServer>
.
<configuration>
<system.webServer>
<httpRedirect enabled="true" destination="http://www.example.com/" exactDestination="true" httpResponseStatus="Permanent" />
</system.webServer>
<location path="Default.aspx">
<system.webServer>
<httpRedirect enabled="false" />
</system.webServer>
</location>
</configuration>
Не связан с StackOverflow