如何解决URL 重写到不同的文件夹 dpeths
使用安装了 ReWrite 模块的 IIS7 和 ASP.NET 4.5
我在尝试重写目标 URL 与传入源请求 URL 的文件夹深度不同的请求时遇到问题。例如
我有一个传入请求,例如: mysitye.com/news/some-news-story
我要显示的页面实际上是在根级别 mysitye.com/newsitems.aspx
因此,在我的全局应用程序“Begin_Request”模块中,我找到了具有该 SEO_friendly URL 的故事的 ID#(数据库键)——将其命名为 X——然后写入:
Context.ReWritePath(“newsitems.aspx?id=X”)
Context.ReWritePath(“../newsitems.aspx?id=X”)
啊哈 - 宾果游戏.. 除了现在这个页面上的引用,例如,样式表现在中断
除非重写为:
这一切都很好,但这带来了许多后果性的问题(不仅仅是这些——例如 img src 属性也会中断,&tc)
我还缺少什么(除了几个脑细胞,是的,谢谢!)
(而且,如果你想知道我为什么不使用 web.config,那是因为我什至无法开始接近编写有效的规则......并且怀疑无论如何都会出现同样的问题。)
解决方法
调整您的路径以在开头使用 ~/
以从根开始,然后从那里开始使用完整路径。这将使您的站点从任何目录中提取文件,而不是从 ..
目录中提取文件,该目录仅比当前目录高一级。
因此,如果 newsitems.aspx
在您的顶级目录中,您将使用 ~/newsitems.asp?id=x
。对于您的 styles.css
,请使用 ~/css/styles.css
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。