Запросы страниц без расширений - PullRequest
0 голосов
/ 17 декабря 2009

У меня есть наш клиент, который разослал публикацию, ссылающуюся на мой сайт, но он использовал неправильный адрес ... они не указали имя страницы ... это выглядит так:

mywebsite.org / Resources / toolkits / bridging

когда это должно было быть

mywebsite.org / Ресурсы / инструментарии / шунтирующий / default.aspx

Есть ли способ указать ASP.NET значение по умолчанию для этого default.aspx, когда он видит запрос такого типа или, что еще лучше, IIS 7 легко обрабатывает это? Этот сайт работает, поэтому я хотел бы избежать ввода кода, если это возможно.

Ответы [ 3 ]

5 голосов
/ 17 декабря 2009

Согласно другим предложениям, это должно быть выполнено в конфигурации IIS для вашего веб-сайта с помощью инструмента IIS Admin.

Однако существует и другая альтернатива - вы можете добавить раздел в web.config вашего фактического приложения ASP.NET, позволяя вам переопределить конфигурацию IIS прямо из вашего приложения:

<system.webServer>
    <defaultDocument>
        <files>
            <clear />
            <!-- Specify each of your files by order of preference here -->
            <add value="Default.aspx" />
            <add value="Index.aspx" />
            <add value="MyOtherPage.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Предостережение этому заключается в том, что это может быть немного глупо, когда администратор IIS не может понять, почему конфигурация сервера не работает так, как он его настроил. Не всегда правильно делать что-то только потому, что ты можешь.

Наконец, на тот случай, если у вас нет доступа к серверу IIS или у вашего администратора IIS есть причины не добавлять Default.aspx в список документов по умолчанию в конфигурации IIS, и по какой-либо причине вы не хотите переопределите конфигурацию IIS в своем файле web.config, тогда самый быстрый и простой способ - просто создать файл с именем default.asp в этом каталоге, содержащий:

<% Response.Redirect("default.aspx") %>

Default.asp равно в списке документов по умолчанию в IIS. Код автоматически перенаправит звонок на нужную страницу. Недостатком этого подхода является то, что происходит снижение производительности - каждый раз, когда кто-то вызывает default.asp - напрямую или иным образом, должно происходить перенаправление, которое не является бесплатным.

4 голосов
/ 17 декабря 2009

Default.aspx, как ни странно, не устанавливается в качестве документа по умолчанию в установке IIS; В IIS 7 этот параметр находится в разделе «Функции HTTP», который называется «Документ по умолчанию». Добавьте default.aspx в этот список, и все будет в порядке.

Если нет, вам нужно добавить обработчик 404, который перенаправляет, когда видит этот URL.

4 голосов
/ 17 декабря 2009

На вкладке «Документы» свойств веб-сайта в IIS вы можете указать документы по умолчанию. Если вы используете .Net 2.0 или более поздней версии на этом компьютере, тогда должен быть установлен Default.aspx ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...