我正在研究一個允許用戶在運行中創建和生成自己的頁面的系統。URL重寫器和動態頁面結構
我正在使用URL重寫器進行連接,這樣我就可以通過一個頁面訪問頁面,該頁面將通過查詢字符串傳遞頁面名稱/ ID。這是容易的部分,因爲我知道我可以使用:
<rewrite url="/(.+)/" to="/GenericPage.aspx?PageName=$1" />
現在來了有趣的一部分。用戶還可以創建具有子頁面和/或子文件夾的文件夾。這些文件夾可以很深,對深度沒有限制。我主要實現了這一點,因爲結構將生成頂級導航,這些文件夾是頂級菜單選項和子文件夾等。
我可以使用重寫規則來考慮在我需要的頁面之前可能有大量文件夾的規則嗎?我不想創建多個規則,因爲它看起來很髒,並依賴於最大數量的文件夾。
**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 -->
我似乎已經把自己弄糟了(可能今天我有點累了)。
如果在URL重寫器中有take after 2nd last /
規則,那將是完美的。