0

我正在开发一个公司网站,该网站允许用户在同一域下拥有自己的主页。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 扩展没有放弃它,哈哈)

4

3 回答 3

2

您可以使用路由或重写将用户 url 映射到您的 asp 脚本。这样不同的 url 可以使用相同的 aspx 脚本。

重写 http://www.helicontech.com/isapi_rewrite/doc/RewriteRule.htm

于 2011-12-01T06:34:18.453 回答
0

你不能完全这样做。URL 是用户识别服务器所依赖的。但是您可以在同一页面上显示该内容。您可以使用全屏 iframe 并在其中加载内容并将其显示给用户,这很容易实现。

编辑:请注意,您甚至不需要 iframe。如果您想在您的网站中显示其他页面,您可以下载其内容并输出。(不过,您需要进行一些更改)。但更简单的方法是使用 iframe。

于 2011-11-30T23:53:39.447 回答
0

您可以通过在 default.aspx 中有一个 Server.Execute 来实现您想要的,例如:

<%Server.Execute("path to another aspx page you wish to display inline while keeping the URL in tact")%>
于 2011-12-01T03:54:26.553 回答