我正在将网址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
访问该网站我在每页底部显示标题信息以显示路径。
答案 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”