Stackoverflowers,
我在两个场景之间进行辩论,处理我正在执行的网站重新设计的产品目录的显示。我将使用IIRF isapi过滤器来执行asp.net网站的重写。
以下是网址的内容
www.domain.com/catalog/productgroup1
www.domain.com/catalog/productgroup2
www.domain.com/catalog/productgroup3
等...
总共会有8个或9个产品组页面
场景1:我将这些页面重写为一个通用页面,如下所示:
www.domain.com/catalog.aspx?group= {productgroup}
然后我根据查询字符串决定使用开关/案例显示哪个目录。显示目录的所有代码都将基于一页。
场景2:我创建了一个单独的页面来处理每个不同的目录页面。重写看起来像这样:
www.domain.com/catalog/productgroup1 - > www.domain.com/productgroup1.aspx
然后每个目录页面都有自己的.aspx来处理和显示该组项目。
我倾向于方案2,因为它允许我为该特定产品组进行更多自定义,但这会导致更多个别页面需要维护以进行更新。方案1目前是我们处理在网站上显示产品组的方式,因此我们熟悉该方法,但代码确实有点毛茸茸。
处理这种情况的普遍接受的最佳做法是什么,根据您的经验,每种方法的优点/缺点是什么?
答案 0 :(得分:1)
使用通用页面。 (Scenario1)
这绝对是一个更具扩展性的解决方案。
您可以在数据库中存储自定义,并使用它来驱动页面上的各种元素,以模拟Scenario2。
答案 1 :(得分:1)
两种方案的组合。使用URL重写可以将URL映射到通用目录页面,就像在场景1中一样。这样做的原因是在搜索引擎结果中推广产品。由于查询字符串中的项目通常不会在搜索索引中考虑,因此您可以将常规目录页面编入索引,但不能将其编入索引。
答案 2 :(得分:0)
是的,第一个场景是最好的场景。有了它,{productgroup}可以作为产品组的参考,然后您就会更灵活。代码将只获取产品组ID,从数据库中获取该组的产品并显示或随意执行任何操作。
第二种方法过于手动:每次拥有新产品组时都必须配置新网址。
希望这有助于您做出决定并继续前进!