【发布时间】:2011-09-23 14:06:18
【问题描述】:
我的网站使用 asp.net 4、c# 和 Routing。
我的路线结果喜欢
A) http://mysite.com/article/58/mytitle (result my article all is fine)
58 和 mytitle 在我的 Articles 表的数据库中的 Id 和 Title 列中表示。
我注意到...如果我要求:
http://mysite.com/article/2000000000/mytitle (a not existing ID)
我收到一个错误页面。
如果我尝试:
B) http://mysite.com/article/58/mytitttttttle (title misspelled)
我仍然得到我的页面http://mysite.com/article/58/mytitle
如果 ID 或 TITLE 不代表我的数据源中的任何记录,我需要将我的网站重定向到 404 页面。
PS:我注意到 SO 网站有类似的行为,除了如果问题的 ID 不匹配,它们能够重定向到 404 页面。
我的问题:
- 这是正常行为吗?
- 如何改为重定向到 404 页面?
- 如果不能使用 404 页面会使用canonical urls?
我问是因为我担心这种情况,让我们想象一个网站错误地链接到我的网站,比如
http://mysite.com/article/58/mytitttttttle (title misspelled)
或
http://mysite.com/article/58/mytitttttttle2222 (title misspelled)
两者都会被我的搜索引擎索引并导致重复内容(这不好)。
如果可能,请向我提供代码示例。感谢您对此的评论,谢谢!
【问题讨论】:
标签: c# asp.net routing asp.net-routing