Как я могу написать маршрут, чтобы поймать * .php? - PullRequest
5 голосов
/ 25 августа 2011

Я хочу создать маршрут, который перехватывает все файлы "php" ... Я пробовал:

routes.MapRoute("php", "{*x}.php", new { controller = ... });

Но я получаю следующее исключение:

A path segment that contains more than one section, such as a literal section
or a parameter, cannot contain a catch-all parameter.
Parameter: routeUrl

Этодолжен поймать:

/p1/p2/p3.php
/p1/p2.php
/p1.php

Я хочу написать одно правило, которое может поймать N уровней ... Как я могу это сделать?

1 Ответ

6 голосов
/ 26 августа 2011

Вы можете использовать ограничение:

routes.MapRoute("php", "{*allphp}", new { ... }, new { allphp = @".*\.php" });

Если у вас все еще есть маршрут по умолчанию, он должен быть размещен раньше.

Мой ответ основан на: Сделать маршрутизацию игнорируемойзапросы на расширение файла

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