Точки и другие знаки пунктуации имеют очень специфическое значение в URL-адресах - в данном случае это указывает расширение файла, которое используется для определения того, какие модули и фильтры IIS (я всегда путаю эти два) активируются для обработки запроса.
Вы должны действительно дважды подумать о форматировании ваших URL таким образом; такие нестандартные применения не твои друзья.
Гипотеза:
Возможно, что поисковая система может использовать часть после .
, чтобы определить тип MIME, и либо набрать оценку, если она не соответствует фактическому содержанию страницы, либо она может полностью игнорировать ссылку. Обратите внимание, что, например, Google индексирует изображения и страницы по-разному в зависимости от расширения файла и типа MIME (хотя кто-то, кто более разбирается в темной магии внутренних компонентов Google, может дать лучшее / более точное объяснение.)
Вот хороший пост о том, как заставить ASP.NET игнорировать определенные расширения файлов,
См. Также этот вопрос о подобной проблеме (регистрация пользовательских расширений файлов - в данном случае .coop
)
Важные web.config
записи по второй ссылке:
<httpHandlers>
...
<add verb="*" path="*.mycustomextension"> type="System.Web.UI.PageHandlerFactory"/>
<compilation >
<buildProviders>
<add extension=".mycustomextension" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
У меня не было времени проверить это, но, надеюсь, это поможет вам двигаться в правильном направлении.