【发布时间】:2011-04-26 03:24:20
【问题描述】:
我有一个网站,其中有许多类别,每个类别中有许多子类别,每个类别中有许多产品。由于 URL 对用户非常不友好(它们包含 GUID !!!),我想使用一种我认为称为 URL Masking 的方法。例如,他们不会去 catalogue.aspx?ItemID=12343435323434243534,而是去 notpads.htm。这将显示与转到 catalogue.aspx?ItemID=12343435323434243534 将显示的内容相同。
我知道我可以通过为每个类别/子类别创建一个文件来做到这一点(单个产品不能单独访问,因为它是一个批发网站 - 客户不能直接从该网站购买)。这将是很多工作,因为每当类别/子类别/产品可见性发生变化,或描述发生变化,名称发生变化时,服务器都必须更新每个相关文件......你明白了......
我尝试过使用服务器端包含,但是当在 html 文件中指定 .aspx 文件时,它不喜欢它。
我也尝试过使用 iframe 设置为 100% 宽度/高度并绝对定位在左侧 0 和顶部 0。这非常有效,但我知道您不应该使用此方法的原因,例如某些搜索引擎无法应对很好。我还注意到“父”页面(notepads.htm)的标题不是 iframe 中设置的标题(逻辑上这是正确的 - 但如果我继续使用此方法,我需要解决另一个问题)。
谁能建议我可以做到这一点的另一种方法,或者告诉我使用 iframe 是否沿着正确的路线前进?谢谢。
问候,
理查德
PS 如果这是我正在尝试做的错误名称,那么请告诉我它实际上是什么,以便我可以重命名/重新标记它。
【问题讨论】:
-
您应该查看 URL 重写 (addedbytes.com/for-beginners/url-rewriting-for-beginners)。确切的详细信息将根据您使用的 Web 服务器(IIS、Apache 等)而有所不同。 PS - 我更新了您的标签以包含该关键字。另外,这真的和
html或vb.net无关。 -
无论你做什么,都不要使用 IFrame!
-
谢谢。我放了 HTML 和 VB.Net,因为网站是用 VB.Net 制作的,我想用 HTML 页面来显示 .aspx 页面的内容。
-
@Cheeso:我曾经在一个严格禁止使用 iFrame 的委员会工作;这就是我提出这个问题的原因。如果不是因为那份工作,我会以为我已经找到了解决方案,而不再寻找了..
标签: html vb.net url-rewriting