.* в IIS
1980
4
Настроил IIS таким образом, что бы обрабатывались «все расширения» (.*). Это нужно для модуля реврайта URL. В результате чего страницы «по–умолчанию» перестали грузиться (Default, Index). Собственно в этом трабла.
P.S.: Кто уже пробовал работать с перезаписью URL в ASP.NET?
P.S.: Кто уже пробовал работать с перезаписью URL в ASP.NET?
Ты имеешь ввиду Mime type? Если ты его добавил, например, для всего контейнера Web Sites, то мог случайно применить родительские настройки этого контейнера ко всем содержащимся в нем сайтам. Провери настройки страницы по умолчанию конктреного сайта.
Короче, идея была такая: мне нужно было на сайте переписать URL, скажем из http://localhost/some.aspx?id=about в http://localhost/about/. Для таких целей существует ряд библиотек, одну из которых я скачал. Как я понимаю (надеюсь), эта библиотека работает (обрабатывает запросы) на уровне ASP.NET, а не web сервера как, скажем, mod_rewrite в Apache. Поэтому дабы обработать этот запрос http://localhost/about/ (заметьте на несуществующий файл) надо в настройках IIS указать, чтобы ASP.NET обрабатывал все файлы (так было сказано в документации к библиотеке) и в том числе не существующие. В web конфиге уже пишутся сами правила реврайта. Так вот, я всё выставил и всё заканало только страницы по умолчанию перестали грузиться (если мы наберём http://localhost/ то нам упадёт 404), хотя страницы по умолчанию я не отменял.
В принципе в этом трабла. Вопрос скорее к программистам, к тем, кто этим уже занимался…
В принципе в этом трабла. Вопрос скорее к программистам, к тем, кто этим уже занимался…
А не проще в этом самом some.aspx написать маленький скриптик по разбору строки Request.ServerVariables("QUERY_STRING"), формированию нового адреса и перехода на него с помощью Response.Redirect?
Так речь же про то, что я собираюсь запрашивать http://localhost/some/, а его не существует.
Дальше. Если бы мы хотели перезаписать some.aspx?id=12 на /some/12.aspx то всё сканало бы (и канает :-) ), так как любой запрос к .aspx обрабатывается ASP.NET и следовательно реврайтится моей либой, даже если файла не существует. Для обработки такого запроса http://localhost/some/ надо выставить ASP.NET
на обработку всех расширений. Даже отсутствующих (.*). Всё это канает, просто default и index перестал работать.
Дальше. Если бы мы хотели перезаписать some.aspx?id=12 на /some/12.aspx то всё сканало бы (и канает :-) ), так как любой запрос к .aspx обрабатывается ASP.NET и следовательно реврайтится моей либой, даже если файла не существует. Для обработки такого запроса http://localhost/some/ надо выставить ASP.NET
на обработку всех расширений. Даже отсутствующих (.*). Всё это канает, просто default и index перестал работать.