Points dans l'URL provoque une 404 avec ASP.NET mvc et IIS

J'ai un projet qui nécessite de mes URLs ont des points dans le chemin d'accès. Par exemple j'ai peut-être une URL de la forme www.example.com/people/michael.phelps

Url avec le point de générer une erreur 404. Mon routage est très bien. Si je passe dans michaelphelps, sans le point, puis tout fonctionne. Si j'ajoute le point j'ai une erreur 404. L'exemple de site est en cours d'exécution sur Windows 7 avec IIS8 Express. URLScan est pas en cours d'exécution.

J'ai essayé d'ajouter ce qui suit à mon web.config:

<security>
  <requestFiltering allowDoubleEscaping="true"/>
</security>

Malheureusement, ça ne fera pas de différence. Je viens de recevoir un 404.0 ne Trouve Pas d'erreur.

C'est un MVC4 projet, mais je ne pense pas que ce soit pertinent. Mon routage fonctionne très bien et les paramètres j'attends sont là, jusqu'à ce qu'ils comprennent un point.

Que dois-je configurer pour que je puisse avoir des points dans mon URL?

  • Ne peux pas croire que j'ai passé autant de temps sur celui-ci. L'URL fonctionne très bien si j'ajoute un slash. Par exemple, www.example.com/people/michael.phelps/ cependant sans le slash IIS renvoie une erreur 404.
  • Marque - c'est parce que sans le slash, IIS pense que c'est un fichier qu'il doit aller la chercher. L'ajout de la barre oblique a pour effet de...ce n'est pas un vrai fichier. En outre, l'option de configuration ci-dessous indique IIS qui, si elle n'est pas un fichier, essayez de route de la place.
  • Je vais avoir le même problème, après j'ai mis à jour mon projet mvc 4 + asp.net 4.5.
  • Comme je suis en utilisant IIS Réécrire pour ajouter le slash de fin de mon Url.
  • Cela ne fonctionne pas pour moi. L'URL fonctionne très bien avec le "." dans l'URL, mais quand il est à la fin il donne une erreur
  • Voulez-vous dire quand le '.' est le dernier caractère ou, tout simplement, le mot de la fin de l'URL?
  • la période est en invoquant le gestionnaire de fichier statique. Ensemble runAllManagedModulesForAllRequests="true" dans le web.config et il va fonctionner.

InformationsquelleAutor Mark | 2012-07-30