问题标签 [url-rewrite-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
248 浏览

asp.net - IIS URL 重写 - 源文件是否已经存在?

以前似乎有人问过这个问题,但我对这个问题有疑问。

我有一个 Mosso / RackSpace Cloud 站点,我正在尝试将入站 PDF 请求(例如 site.com/abc.pdf)重定向到一个 pdf 处理程序页面,该页面将通过 BinaryWrite 从 App_Data 为它们提供服务。

他们在http://www.wip.rackspacecloud.com/knowledge_center/index.php/How_do_I_rewrite_URLs_from_ASP.NET有一个示例,显示了如何执行此操作,我已经尝试过了,它不提供文件,除非原始文件存在。

Mosso / RackSpace Cloud 告诉我,文件重定向仅在原始文件存在时发生。

是否需要存在原始文件才能进行重写(如示例中所示)才能工作?

IIS Express 7.5 下的本地测试说没有。也许 Mosso 以某种方式配置了奇怪的管道,以便 IIS 首先运行。我想我被骗了。

0 投票
1 回答
4316 浏览

iis - IIS URL Rewrite 如何处理 # 锚标记

我正在努力寻找有关如何最好地处理带有锚标记的 URL 的任何信息,例如 www.example.com/index.html#foo 中的#foo

我们目前的情况是尝试对带有锚标记的 URL 使用 Rewrite 映射,但它被另一个 Rewrite 映射胜过。

例如

URL Rewrite 是否在 URL 中包含此内容?或者可以通过变量之一获得?有这方面的文件吗?

(我也试过搜索“片段标识符”、“#”“哈希”“哈希标签”)

0 投票
1 回答
147 浏览

php - 此 URL 重写正则表达式匹配是否与在“/”上拆分字符串获得相同的结果?

我正在考虑用 IIS 7 URL 重写 2.0 规则替换一个 PHP 重定向脚本,该脚本将“/”上的查询字符串拆分。

这是从原始重定向脚本中的请求中提取信息的代码:

这就是我认为可以替代的东西:

我在问是否有什么我没有想到的匹配正则表达式与 PHP string-split-assiged-to-list 逻辑的功能相同。我发现了一个问题,我不得不使用惰性匹配来处理超过 5 条斜杠分隔的 url 的情况。我想知道是否还有其他情况会导致结果不一样。

0 投票
2 回答
466 浏览

iis-7 - IIS 7.0 重写规则,用于捕获具有异常的动态文件夹

我正在尝试创建一个重写规则,该规则捕获所有 www.domain.com/dynamicfolder/ (应该可以使用和不使用破折号)并将其重写为 /index.php?folder= dynamicfolder并且还允许使用其他参数。

问题是,应该有一些例外,重写规则不应该适用,请求实际上应该在真实文件夹中打开/查看。一些保留的文件夹,你可以调用它。应忽略规则的文件夹示例:“images”、“includes”和“admin”。

我现在有一个重写规则,可以完成这项工作,但它只适用于恰好有 2 个字符的动态文件夹名称。新规则不应该有任何限制,而且 - 要求严格,应该可以省略动态文件夹名称,并让其余的重写 url 工作。:-)

0 投票
1 回答
467 浏览

apache - 我无法让重写工作

我在笔记本电脑(本地主机:8080)上使用 VertrigoServ 2.27。

重写模块已启用,我使用 alice.html 和 bob.html 示例(http://stackoverflow.com/questions/6944521/url-rewriting-on-localhost)对其进行了测试,它与 www-subfolder 中的 .htacces 一起使用。而且我还在 .htaccess 中放入了垃圾文本,我从 Apcheserver 收到错误,所以 rewrite mod 正在运行并且我使用规则。

因此,当我将此 url 放入浏览器时,我的索引页面加载正常。 http://localhost:8080/folder1/index.php

问题就在这里:当我通过 index.page(login page) 请求登录并通过单击发送按钮将 url 发送到 localhost 服务器时,url 更改为 localhost:8080/login,它应该是 localhost:8080/folder1/login

  • 如何在 url 中保留子文件夹名称?

我想像这样转换网址:www.best-food-of-the-usa.com/index.php?operation=top&state=arizona& city=mesa&limit=10

喜欢这个:www.best-food-of-the-usa.com/arizona/mesa/top10.html

任何帮助表示赞赏。谢谢\何塞

0 投票
3 回答
1089 浏览

php - 无法从 IIS 7 中的 kohana URL 中删除 index.php

我知道这个主题已经有其他几个帖子,但我已经尝试了他们所说的一切,但我似乎无法让它发挥作用。

我在http://localhost/kohana中安装了 php kohana 框架,它正在工作。问题是我无法从我的 URL 中删除 /index.php/。

我尝试将 .htaccess 文件从安装导入 IIS URL Rewrite 模块,但没有运气。

我的引导程序如下

我放在 /kohana 目录中的 web.config 看起来像这样

我也试过这个页面上的重写规则

似乎没有任何效果。如果我去http://localhost/kohana/index.php/welcome它工作。如果我访问http://localhost/kohana/welcome,我会从 IIS 收到 404 错误(在 kohana 中不是 404)。

我觉得我的头撞墙了,有什么想法吗?

0 投票
0 回答
1050 浏览

svn - 带有 IIS URL 重写的 SVN 反向代理

我的目标是在 SBS2011 服务器上为我的内部源代码控制服务创建一个前端反向代理,这些服务托管在单独的 Apache/Debian 机器上。它几乎可以完美运行,这是当前配置:

appcmd.exe 列表配置

应用配置

问题是 SVN 使用了似乎被 IIS 阻止的 HTTP 动词。例如,我收到 Tortoise SVN 发送的 PROPFIND 请求 (/test/!svn/vcc/default) 的 405 响应。我该如何解决这个问题?

更新

我现在离我更近了一点。问题出在其他地方。所以,我的目标是实现这样的代理:

SVN 服务器的响应正文包含 SVN 客户端稍后使用的绝对路径。例如:

此出站消息被重写为:

但这带来了另一个问题,这些路径可能稍后包含在入站消息的请求正文中(由 SVN 客户端发送),/src/svn/在传递到 SVN 服务器之前应该由代理重写(删除)。据我所知,没有办法重写请求的正文(入站消息)。

0 投票
1 回答
797 浏览

asp.net-mvc - 将旧的 .aspx 路径重写为新的 MVC 路径

我有一个混合的 aspx/MVC webapp 项目,需要在 MVC 路由或通过 IIS 重写中重写传入的 URL。任何工作。我无法弄清楚这一点。

我有以下旧路径:

我需要将其重写为:

问题是 MVC 路由正在作为参数传递的 Article.aspx 中读取,而我在 IIS7 中重写它所做的任何事情都被忽略了。嗯..问题是我不知道:)

0 投票
1 回答
361 浏览

sql - 线程:使用自定义重写提供程序时的 505.50(示例中的那个)

我想知道如何对 IIS URL 重写模块和自定义重写提供程序进行故障排除?

我正在尝试在我们的应用程序的 URL 重写模块上进行 POC。我们的映射都在数据库中,所以我想使用作为示例的提供程序。按照说明安装和配置了所有东西。还创建了存储过程。现在,当我点击别名 URL 时,我收到 HTTP 错误 500.50 - URL 重写模块错误。以下是有关该错误的详细信息:

模块 RewriteModule 通知 BeginRequest 处理程序 ExtensionlessUrlHandler-Integrated-4.0 错误代码 0x80070585

在 SQL Profiler 中,我看不到对存储过程的调用。应用程序池在我的帐户下运行(管理员权限)。事件日志中没有错误。

我可以查看任何日志以获取有关正在发生的事情的更多信息吗?

0 投票
1 回答
2113 浏览

asp.net - 使用 web.config 从目录停止热链接

我的网站上有一个用于缓存大型 Flash 电影的文件夹,我想阻止其他人将它们嵌入他们的网站;我想尝试web.config仅使用该文件来执行此操作。怎么可能做到这一点?

我第一次尝试规则(不起作用):

以下规则应该阻止公共访问(和嵌入)缓存文件夹“CurrentCache”中的 .swf 文件 - http://myurl.com/ContentCache/并提供替换电影“NoEmbedFromCacheSWF.swf”。

提前致谢!

注意:我认为我的正则表达式错误<match url="A swf inside /ContentCache/" ignoreCase="true" />,有什么想法吗?