【发布时间】:2011-11-30 22:58:06
【问题描述】:
我正在开发一个允许用户在同一域下拥有自己主页的公司网站。 URL 类似于http://mydomain.com/UserName 我们将每个用户的内容保存在数据库中,该数据库显示在位于http://mydomain.com/users/default.aspx 的页面上(它通过在数据库中查找 URL 来获取用户的内容)
我希望 URL 在地址栏中保持不变,这样 看起来 每个用户都有自己的文件夹。
我尝试过使用 Server.Transfer,但我的会话变量最终什么都没有。 RewritePath 有效,但地址栏中的 URL 发生了变化。我无法在 404 页面中执行代码,因为地址栏会显示 404.aspx?aspxerrorpath={requestedURL}
我的主要目标是重定向而不是丢失地址栏中的内容。我正在使用 ASP.NET(如果 aspx 扩展没有放弃它,哈哈)
【问题讨论】:
-
您希望 what url 与 what other url 保持相同?我不清楚你在这里真正想要什么。
-
如果用户输入mydomain.com/UserName 我希望它保留在地址栏中,但后端重定向到另一个页面并抓取用户的内容,看起来每个用户都有一个文件夹域。
-
查看 Ruzzie 的答案;你想要的是路由或 URL 重写。忘记所有关于
Server.Transfer的事情。使用路由,您可以为满足特定模式的 URL 自动和透明地调用特定页面的路由定义模式......就像 www.mydomain.com/Users/AndrewBarber 的任何内容一样,转到 www.mydomain.com/UserPage.aspx ?username=AndrewBarber 在幕后,无需更改 URL,使用任何替换您想要的用户名。
标签: asp.net .net server.transfer