Да, если веб-сервер не разрешает публичный доступ по конфигурации, тогда никто не сможет получить доступ к файлам. Однако запрет доступа по конфигурации более хрупок, чем просто отсутствие файлов. Всегда может случиться так, что неосторожный администратор неверно настроит сервер и внезапно разрешит доступ к этим файлам, что просто не проблема, если вы сначала не подпускаете файлы к корню. Возможно, у вас также есть вторичная уязвимость, в которой кто-то может изменить ваши файлы .htaccess, тем самым пропуская себя через черный ход. Опять же, не проблема, если файлов просто нет вообще.
В конце концов я закончил использовать IIS 7 с модулем URL Rewrite, который позволяет правильно выполнять это перенаправление.
Изменить:
Правило
<rule name="Default Redirect" stopProcessing="true">
<match url="^default\.aspx$" />
<action type="Redirect" url="/" redirectType="Permanent" />
</rule>
вы можете сделайте это с отдельным правилом для каждой папки, или вы можете использовать
<rule name="All Redirect">
<match url="^(.*\/)*default\.aspx$" />
<action type="Rewrite" url="{R:1}" />
</rule>
Я не уверен, что понимаю, какова проблема.
Хотя, если Вы выключаете документы по умолчанию затем / просто укажет на каталог, а не default.aspx страницу.
Документы значения по умолчанию отпуска об и просто делают перенаправление на основе того, является ли default.aspx в требуемом URL или нет.
Если я понимаю Вас правильно, Вы не хотите отображать 'default.aspx' каждый раз, когда кто-то входит в папку с тем доступным документом.
Таким образом, если они действительно поражают его, Вы хотите автоматически перенаправить к '/' и просто загрузить документ по умолчанию так или иначе?
Если это так, затем, как указано выше, Вы рискуете бесконечным циклом. Второй комментарий дает Вам ответ, но я предполагаю расширение, которое к переписать механизму, что Вы хотели бы, к:
Выключите документы по умолчанию Регистр каждая папка с переписать механизмом, Когда ту папку требуют, загружают default.aspx файл согласно Вашему целевому правилу
Это звучит о праве?
Я должен спросить, почему Вы хотите сделать это?
хорошо, вы можете использовать обычный .net для проверки URL-адреса httprequest, если в нем есть «default.aspx», вы можете перенаправить на «/», бесконечного цикла не будет, и вам лучше сделать это при предварительной загрузке и завершить ответ после этого, чтобы минимизировать время, необходимое для обработки
У меня была такая же проблема. Для тех, кто задается вопросом, зачем кому-то это нужно, это вопрос SEO. Если Google проиндексирует вашу домашнюю страницу с и без default.aspx в конце, рейтинг страницы и популярность ссылок будут разделены между двумя URL-адресами. Теперь, если у вас возникла эта проблема и вы можете объединить два URL-адреса, вы можете повысить рейтинг в поиске. Еще одна вещь, о которой следует помнить, заключается в том, что если вы столкнулись с проблемой, вы ДОЛЖНЫ использовать перенаправление 301 для Google, чтобы объединить их индекс между двумя URL-адресами. В противном случае ваши усилия будут тщетными.
Это уже слишком поздно, поскольку вы уже решили эту проблему, обновившись до IIS7. Но я просто добавлю, что единственное решение этой проблемы, которое я придумал для IIS6, - это добавить фильтр ISAPI. http://swortham.blogspot.com/2008/12/redirecting-default-page-defaultaspx-to.html