IIS 7 重写规则和 Url.Content 问题

2024-01-22

我在 IIS 7 中有以下规则:

           <rule name="Category" enabled="true">
              <match url="^store/([0-9]+)/(.*)" />
              <action type="Rewrite" url="store?cid={R:1}" appendQueryString="false" logRewrittenUrl="true" />
           </rule>

这似乎工作正常,但是在我的 ASP.Net MVC 3 应用程序中,我有几个 @Url.Content("~/") 条目,它们解析为 /store/ 作为根而不是 /。典型的网址是http://mysite.com/store/99/coats-with-hoods http://mysite.com/store/99/coats-with-hoods例如。

编辑/更新:我仍然对这个问题很着急,所以我决定研究一下 Url.Content 代码库,我注意到它会检查 URL 是否已被重写(true),如果是的话,它会使相关的路径,这反过来又not给我绝对网址:

    if (!PathHelpers._urlRewriterHelper.WasRequestRewritten(httpContext))
      return contentPath;
    string relativePath = PathHelpers.MakeRelative(httpContext.Request.Path, contentPath);
    return PathHelpers.MakeAbsolute(httpContext.Request.RawUrl, relativePath);

有谁知道为什么会这样吗?我有点困惑为什么会发生这种情况以及如何在我的应用程序中解释它?


好吧,当我意识到我永远无法对 ASP.Net MVC 使用 IIS Rewrite 时,我决定改用 HttpContext.RewritePath,现在一切似乎都正常工作。

这是一个非常基本的问题,因为受影响的不仅仅是 Url.Content,还有控制器路由,我在这个特定页面上有一个表单也错误地指向 /store/ 而不是 /。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS 7 重写规则和 Url.Content 问题 的相关文章

随机推荐

  • HTML linter 中的 Microsoft VS Code 和 Angular 2 标签

    我刚刚开始在 VSCode 中使用 Angular 2 以 Angular io 英雄之旅 为例 内置 HTML linter 无法识别 HTML 标签中的 Angular 2 指令 例如 ng if or click 正如您在此屏幕截图中
  • 可以使用iPhone进行编程吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 可以使用iPhone进行编程吗 任何
  • 强制捆绑程序将 gems 安装在用户的主目录中

    上次我尝试学习如何使用 Ruby on Rails 进行 Web 开发 并且使用了我的 Arch GNU Linux 机器 Arch 的政策要求 gems 安装在用户目录中 而不是通常的系统范围位置 然而 它与捆绑器的默认行为 尝试在系统范
  • 如何为 IntegerField 设置 NULL 而不是设置 0?

    我正在使用 xlrd 从 excel 文件上传一些数据 并将这些数据转换为 Django 中的模型 主要包含 IntegerField 值 我的 Excel 文件有大量缺失数据 不幸的是 这些缺失的数据在我的模型中被转换为 0 值 而不是
  • 不使用导航属性添加相关实体

    我有以下课程 用于测试 public class Company DatabaseGenerated DatabaseGeneratedOption Identity public int Id get set public string
  • 使用 PowerShell 替换方括号之间的逗号

    我有一个文本文件 在文件中 我有一些可能包含逗号的方括号 我想替换 删除这个逗号 说出文字 logissue type warning 列 员工 地址 职位 不要使用浮点数据类型 I want logissue type warning 列
  • 主题化 Drupal 7 的 Ubercart“/cart”页面

    我正在尝试为 Drupal 7 的 Ubercart 3 主题化 cart页面 但我正在努力寻找主题功能来做到这一点 我相信正确的代码可能位于template tpl php 但我不确定 Drupal 中哪里有主题化此页面的代码 创建一个新
  • simplexml 无需类型转换即可获取节点值

    有没有办法从a中获取节点值simplexml object without铸造它 amount int item gt amount 在我看来这不是很漂亮 我正在寻找一种更干净的方法 但到目前为止没有找到任何东西 wouldn t this
  • 如何在特定 XY 位置将位图覆盖在另一个位图上

    我正在开发一个使用画布的项目 用户可以触摸将一个位图覆盖移动到另一个位图 当用户按下保存按钮时 两个位图应合并并成为单个位图 我已经完成了所有操作 现在仍然在 XY 位置合并两个位图 在我的研究过程中 我发现了以下代码 private Bi
  • 使用 rscript 时出错

    我在 Mac OS X El Capitan 10 11 5 上安装了 R 的 Homebrew 版本 我已经成功使用 rscript 大约两周了 但是 当我今天早上尝试使用运行脚本时rscript file r 我收到以下错误 usr l
  • 模拟器中没有日历

    我正在构建一个应用程序 该应用程序访问 Facebook 帐户并获取事件 然后将它们添加到 Android 日历 模拟器中没有日历 我们尝试设置 Calendar apk 但没有成功 任何想法 我想直接通过代码将事件添加到日历中 是否可以或
  • IBM Worklight 6.0 - 启用控制台登录身份验证后出现混合端口号?

    希望进行 Worklight Console 身份验证 我按照此链接中的信息中心说明进行操作信息中心 http pic dhe ibm com infocenter wrklight v6r0m0 topic com ibm worklig
  • MATLAB 设置 - 如果出现错误则停止

    我发现 出错时始终停止 如果出错则停止 在调试 MATLAB 代码时非常有用 但是 关闭 matlab 也会将其重置为 如果出现错误 永不停止 我怎样才能让这个设置持续存在 这确实是解决方案 在 Mathworks 中进一步挖掘得出了确切的
  • 在 UIScrollView 中使用 UIImageView 或 UIButton 时出现问题

    我使用 UIScrollView 来保存大小为 80x80 的不同数量的图像 当用户点击一个图像时 我希望它启动到全屏显示等模式视图中 我遇到的问题是检测滚动视图内图像的触摸 到目前为止我已经尝试了两种方法 但每种方法都有一个问题 我以两种
  • 如何用前导 0 填充个位数

    我正在循环一个由一位数和两位数组成的数组 打印这些值时 我需要确保所有值都显示为两位数 我需要一个解决方案 在单位数字前面添加零 但保持两位数字不变 换句话说 我想通过添加零将数字字符串 左填充 到至少两位数字 如何更改代码以呈现值 1 到
  • 根据文本长度调整文本框和表单大小

    如何根据文本长度自动增大 减小 TextBox 和 Windows 窗体大小 您可以尝试覆盖文本更改时 http msdn microsoft com en us library system windows forms control o
  • axios response.blob 不是函数

    我试图从 nodeJS 传递一个类型为 image jpeg 的 blob 来做出反应 在nodejs端 我使用arraybuffer传递数据 在react端 我尝试使用res blob检索它 它通常应该将数据转换回来 问题是 axios
  • 创建两个具有相同源的 HTML5 视频元素不起作用

    我正在尝试做一件简单的事情 但到目前为止我还没有取得任何成功 而且我不明白为什么它不起作用 我需要两个 或多个 HTML5 视频元素来播放同一个视频 但它不起作用 这是我一直在尝试的代码 http jsfiddle net 4K8DZ ht
  • 杰克逊的“轻松”字段名称

    我正在尝试Jackson配置 我想知道是否有任何选项可以反序列化不同类型的字段模式 例如 我有一个对象 class DeserializeIt String fieldOne String fieldOneAndHalf String fi
  • IIS 7 重写规则和 Url.Content 问题

    我在 IIS 7 中有以下规则