我正在开发一个允许用户即时创建和生成自己的页面的系统。
我将它与 URL Rewriter 连接起来,以便我可以通过单个页面访问页面,该页面将通过查询字符串传递页面名称/ID。这是我知道我可以使用的简单部分:
<rewrite url="/(.+)/" to="/GenericPage.aspx?PageName=$1" />
有趣的来了。用户还可以创建具有子页面和/或子文件夹的文件夹。这些文件夹可以有 n 个深度,并且它们的深度没有限制。我主要实现了这一点,因为该结构将生成一个顶级导航,这些文件夹是顶级菜单选项和子文件夹等。
我是否可以使用重写规则来考虑在我需要的页面之前可能有大量文件夹的规则?我不想创建多个规则,因为它看起来很脏并且依赖于最大数量的文件夹。
**What I'm trying to avoid**
<rewrite url="/(.+)/(.+)/" to="/GenericPage.aspx?PageName=$2" />
<rewrite url="/(.+)/(.+)/(.+)/" to="/GenericPage.aspx?PageName=$3" />
<rewrite url="/(.+)/(.+)/(.+)/(.+)/" to="/GenericPage.aspx?PageName=$4" />
<rewrite url="/(.+)/(.+)/(.+)/(.+)/(.+)/" to="/GenericPage.aspx?PageName=$5" />
<!-- Where the additional (.+) are representative of folders -->
我似乎被这个难住了(也许我今天有点累)。
如果take after 2nd last /
URL Rewriter 中有规则就完美了。