如何编写一个路由来捕获*.php ?
本文关键字:php 路由 一个 何编写 | 更新日期: 2023-09-27 18:06:35
我想创建一个捕获所有"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
级别的单一规则…我该怎么做呢?
您可以使用约束:
routes.MapRoute("php", "{*allphp}", new { ... }, new { allphp = @".*'.php" });
如果你仍然有默认路由,这个必须放在前面。
我的答案是基于:使路由忽略对文件扩展名