问题标签 [isapi-rewrite]
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.
.htaccess - 使用 .htaccess 将非 www URL 重定向到 www
我正在使用Helicon 的 ISAPI Rewrite 3,它基本上可以在 IIS 中启用 .htaccess 。我需要将非 www 的 URL 重定向到 www 版本,即 example.com 应该重定向到 www.example.com。我使用了示例中的以下规则,但它会影响子域:
这在大多数情况下都有效,但也将 sub.example.com 重定向到 www.sub.example.com。如何重写上述规则以使子域不会被重定向?
iis - MOD_Rewrite 重写是否通过重写规则调用第二次运行?
当 MOD_Rewrite 执行 RewriteRule 时,是否会为新生成的请求再次执行所有 MOD_Rewrite 规则?具体在以下示例中,这会导致循环吗?
iis-7 - IIS 7 中的 ISAPI_Rewrite
多年来,我一直在 Server 2003 机器上使用 Helicon ( http://www.helicontech.com/isapi_rewrite/ ) 的 ISAPI_Rewrite,并且一直很幸运。
我正在将 2003 机器上的所有站点迁移到一个新的闪亮的 Server 2008 机器上。我宁愿不购买新许可证,而且我听说 IIS 7 将具有内置功能。
所有重写都设置在 .htaccess 配置文件中,就像 Apache 的 mod_rewrite 一样。
有谁知道此功能是否已融入 IIS 7,如果是,您是否知道任何解释如何启用它的好文章?
谢谢。
iis-6 - 1 个域 两个独立的应用程序
www.one.com 是主站点,但该站点有一个英国版本,理想情况下需要位于子目录 (/uk) 中。
如何设置 IIS 以允许我在一个域下拥有多个站点?
或者我可以有两个独立的站点并使用 ISAPI_rewrite 指向 www.one.com/uk 从另一个站点读取但保留 URL www.one.com/uk?
coldfusion - 使用 ISAPI_Rewrite v2 重写 ColdFusion 站点的 url 是否有任何陷阱?
我被要求帮助一些 ColdFusion 开发,其中一项任务是进行 url 重写,主要是将 url 参数转换为更清晰的 url。
该站点位于托管服务上,cf8 在 iis 上运行,Helicon Tech ISAPI_Rewrite v2。
有什么我应该注意的吗?
谢谢。
regex - 使用 ISAPI-Rewrite 排除目录
我正在尝试使用 ISAPI-Rewrite 排除目录(注意:这是 mod-rewrite 的 windows/iis 端口)。
我要排除的目录是“api”,当它位于站点的根目录时。
这是我的规则:
RewriteRule ^(/api/)(.+)$ $1$2 [NC, L]
请求看起来像这样:/api/v2/users?usernames=scottw
不幸的是,querstring 值总是被排除在外,并且 url 被重写为 /api/v2/users。
我在假设 (.+) 会捕获其他所有内容的情况下进行攻击。
有什么建议么?还是排除目录的更好方法?
谢谢
更新:我也简化了规则,但这也没有改变任何东西:
重写规则 ^(/api/.+)$ $1
seo - Isapi Rewrite 301 重定向解析为 404 - 循环引用?
我正在尝试使用 IIS Isapi Rewrite 来执行以下操作...
我需要将 seo 友好的 URL(静默)转换回应用程序友好的 URL,如下所示:
很简单。
但我还需要已经在搜索引擎中索引的 URL(例如)被 301 重定向到对 seo 友好的版本。像这样:
这些中的每一个都可以单独工作。但是当我在我的 .ini 文件中同时拥有这两个文件时,我的浏览器地址栏中会显示 /seo-friendly-url/ 但我得到的是 404。(是的,/test/index.cfm 肯定存在!)
我知道它看起来像一个循环引用,但第一条规则只重写 IIS 和应用程序之间的 URL - 没有重定向,所以我没有第二次点击 Isapi Rewrite。还是我错了?
我在 Isapi Rewrite 上启用了日志记录,我看到以下内容:
有人有什么想法吗?
seo - Isapi Rewrite 从 2 升级到 3 - 查询字符串不可用?
有点晚了,但我刚刚从 Isapi Rewrite 版本 2 升级到了版本 3。
我在使用以下样式的规则时遇到问题:
在这里,我希望将任何额外的查询字符串参数传递给重写的 URL。
这在 IR2 下运行良好,但无法在 IR3 中传递额外的参数。我有每个版本的正则表达式测试器 .exe 实用程序,所以我尝试了这些。
如果我输入/seo-friendly/?hello=world,IR2 的正则表达式测试器会显示$1: ?hello=world和$2: hello=world 这是完美的。
但是 IR3 说$0: /seo-friendly/和$1和$2是空白的。
看起来我无法访问查询字符串变量。
我发现文档中提到了这个标志:
O(正则化)
在处理之前规范化字符串。规范化包括删除 URL 编码、非法字符等。此外,URI 的 IIS 规范化完全删除查询字符串。因此,如果需要查询字符串,则不应使用规范化
但我没有设置这个标志违反我的规则。我可以设置一个全局规则来停止这种(明显的)规范化吗?
mod-rewrite - Isapi Rewrite - 在 RewriteRule 中访问查询字符串模式匹配
我正在使用 Isapi Rewrite 3(IIS 的 mod 重写克隆)并尝试根据查询字符串重写 URL - 然后在重写中传递该查询字符串的一部分。
因此,如果我输入这样的 URL:/test/home.cfm?page=default&arbitraryExtraArg=123
我希望将其重写为:/test/index.cfm?page=home&arbitraryExtraArg=123
我有以下条件/规则:
但是永远不会传递额外的查询字符串变量。%1 似乎是空白的。
这就是如何从 RewriteCond 引用模式匹配,对吧?
我在这里想念什么?
谢谢!
编辑:在我看来,RewriteCond 完全被忽略了。这是我的日志文件的样子:
那里应该提到 RewriteCond 模式检查吗?
url - Mod_rewrite - 如何 301 将旧 URL 重定向到新 URL
我需要获取我网站的一些旧 URL 并执行 301 重定向到新 URL,因为它们已经被编入索引,并且我们不想在更改后失去相关性。旧的 URL 实际上非常丑陋,出于某种原因,我试图重写它的一切都不起作用。这里是:
基本上,我需要将其翻译成如下内容:
从旧 URL 我需要检查用户是否输入了“ExibeCurso.asp”;那么我知道我必须把他送到这里:/curso。我还必须获取查询字符串参数“codCurso”(136)中的整数。我必须为此使用什么正则表达式。我用的是ISAPI_Rewrite 3,它基本上在IIS上实现了htaccess,所以在语法上应该没有区别。谢谢。