Наша организация получает от отдела маркетинга много запросов на создание удобных URL-адресов для наших производственных общедоступных сайтов. Я рассматриваю возможность создания простого внутреннего приложения веб-формы ASP.NET, которое позволит им просматривать и изменять сопоставления перезаписи URL-адресов. Приложение, по сути, было бы внешним интерфейсом для XML web.config.
Цель состоит в том, чтобы упростить процесс сопоставления без предоставления доступа к серверу / IIS для персонала, не связанного с ИТ.
Есть ли соображения, которые сделали бы это опрометчивым? Предполагается, что код изменения надежен и реализует все соответствующие проверки, чтобы искаженный XML не нарушал работу сайта.
В качестве альтернативы, если уже существуют продукты, которые надежно обеспечивают ту же функциональность, это тоже будет вариантом.
Если вы продолжите свой подход, я бы по крайней мере переместил все правила перезаписи в другой файл, например rewrite.config
:
<rules>
<!-- Rewrite Rules, this gets included in web.config during runtime -->
<rule name="AspNetTrace" stopProcessing="true">
<match url="trace\.axd" />
<action type="CustomResponse" statusCode="404" statusReason="Not Found" statusDescription="Trace not allowed" />
</rule>
</rules>
и в вашем web.config есть только что-то вроде этого:
<rewrite>
<rules configSource="rewrite.config" />
</rewrite>
затем убедитесь, что у вашего удостоверения пула приложений есть доступ на запись к rewrite.config
но не web.config
Обычно вы не хотите, чтобы файл web.config можно было обновлять с самого сайта, неправильное правило также может нарушить работу всего сайта, поэтому я буду очень осторожен с этим.