Посмотрите на кабели/коннекторы или посмотрите на dmesg.
Вы не можете полагаться на/dev/hd для дисков PATA. Для современных систем все диски PATA/SATA обнаружатся как/dev/sd, потому что новый уровень ATA использует sd префикс. Вы будете только видеть/dev/hd, если Ваша ОС будет использовать старые драйверы ATA устаревшие.
Об этом есть база знаний: http://support.microsoft.com/kb/2520479
В результате возникает проблема с порядком операций, при которой обработчики .NET для различные функции путаются и вводят в заблуждение. Некоторые обработчики .NET переписывают URL-адрес в форму без расширений, и они могут напугать другие вещи.
Краткое временное решение - переместить все обработчики ExtensionlessUrlHandler в самый конец списка после любые добавленные вами пользовательские файлы, которые могут касаться данных PathInfo.
Возможно, это не ваша точная ошибка, но стоит попробовать.
Adding this attribute in the httpRuntime
section may help you:
<configuration>
<system.web>
<httpRuntime ... relaxedUrlToFileSystemMapping="true" .../>
</system.web>
</configuration>
Gets or sets a value that indicates whether the URL in an HTTP request is required to be a valid Windows file path.
More information about relaxedUrlToFileSystemMapping
Я не могу дать вам ответ о том, почему структура dotnet демонстрирует такое раздражающее поведение. Это почти как если бы он рассматривал 404 как обработанный 404 и пропускал страницу IIS 404 по умолчанию. Возможно, он устанавливает:
Response.IisTrySkipIisCustomErrors
В любом случае, когда я реализовал ваше правило, я настроил ваше регулярное выражение для поддержки завершающего .
за которым следует необязательный /
.
например
https://localhost/investing./
Я обновил его для поддержки необязательной косой черты.
<rule name="Trailing Dots" stopProcessing="true">
<match url="\.+/?$" />
<action type="Rewrite" url="/404.html" appendQueryString="false" />
</rule>
Я бы добавил это как комментарий, но у меня нет ранга, чтобы сделать это.