很奇怪的URL重写问题?

时间:2009-10-05 10:33:06

标签: asp.net url-rewriting

我正在将网址http://www.tworiverstaines.co.uk重写为http://www.tworiverstaines.co.uk/TwoRivers/

当网站首次加载时,重写正常显示Default.aspx,所有超链接都正常工作,包括App_Themes文件夹的路径等。

但是,当Default.aspx(或请求的页面)加载所有超链接时,单击主页链接(或任何其他)时,路径会从/Default.aspx更改为/TwoRivers/Default.aspx,因此当您单击时在超链接上它被打破,因为重写规则将带您到www.tworiverstaines.co.uk/TwoRivers/TwoRivers/Default.aspx。

为了防止404错误,我添加了一个本地规则来重写/ TwoRivers / TwoRivers / to / TwoRivers /但是这不是一个好的解决方案,因为浏览器中的URL显示子文件夹和页面在/ Default处可用。 aspx和/TwoRivers/Default.aspx可能会在搜索引擎中出现重复的内容问题。

有谁知道为什么会这样?

可以在http://www.tworiverstaines.co.uk

访问该网站

我在每页底部显示标题信息以显示路径。

1 个答案:

答案 0 :(得分:0)

这是因为您的表单标记中的action属性。你也重写那个表格标签吗?

在页面http://www.tworiverstaines.co.uk/Default.aspx上,您的操作属性包含

<form name="aspnetForm" method="post" action="TwoRivers/Default.aspx" id="aspnetForm"> 

如果没有,这是一个解决方案:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

转到“使用URL重写处理ASP.NET PostBack”