我为我的网站使用 asp.net 4、c# 和 Routing。
我的路线结果像
A) http://mysite.com/article/58/mytitle (result my article all is fine)
58
并在我的表的数据库中mytitle
表示Id
和Title
列Articles
。
我注意到......如果我要求:
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 页面会使用规范的 url吗?
我问是因为我担心这种情况,让我们想象一个网站错误地链接到我的网站,比如
http://mysite.com/article/58/mytitttttttle (title misspelled)
或者
http://mysite.com/article/58/mytitttttttle2222 (title misspelled)
两者都将成为我的搜索引擎的索引并导致重复的内容(这并不好)。
如果可能的话,请给我一个代码示例。感谢您对此的评论,谢谢!