Псевдоним без расширения для URL
Я использую ML 5.0 версию ASPDotNetStoreFront и сталкиваюсь с проблемами с перезаписью URL без расширения.
У меня следующая ситуация. Мне нужно создать псевдоним - /dummykit для действительного URL-адреса страницы продукта /productdetails.aspx
У меня есть окно разработчика, где я сделал запись в правила перезаписи для вышеупомянутого сценария, и когда я запускаю приложение из моей Visual Studio, псевдоним работает отлично, т.е.
http: /// dummykit перенаправляет на http:///productdetails.aspx
Но когда я внедряю те же изменения в промежуточную среду, псевдоним не работает и показывает страницу ошибки IIS 404. Вместо этого, если я обновлю псевдоним на /dummykit.aspx, все будет работать нормально.
Я пробовал следующие вещи -
- Подстановочные знаки в IIS
- urlMapping
Среда - IIS 6 / Asp.Net 2.0 в Windows Server 2003 с пакетом обновления 2 (SP2).
Пожалуйста, помогите мне через это.
2 ответа
Это старая версия ASPDNSF
Вы проверили настройки своего домена? У вас будет три параметра, один для разработки, постановки и производства. Убедитесь, что URL-адреса, как они должны быть. Также проверьте настройки приложения, которые относятся к доменам. Я не знаком с версиями за 7, но это обычно причина.
Я обсудил приведенные ниже подходы и обнаружил, что у всех них есть один существенный недостаток, т.е. они позволяют ВСЕМ запросам достигать моего управляемого кода -
- Дикая карта
- runManagedCodeForAllRequests = true атрибут для узла модулей в web.config
В качестве альтернативы мы попытались обойти эту проблему, просто создали папку в IIS с тем же именем, что и у требуемого псевдонима, и установили для свойства папки "Перенаправить на URL" требуемый URL-адрес перенаправления и BINGO!!!!
Да, это не чистый подход, но для унаследованного кода, который не должен был сильно изменяться, трюк сработал хорошо.