问题标签 [rewritemap]

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 回答
808 浏览

apache - apache rewritemap 不工作 URL 不翻译

我无法让我的重写地图工作。我已经阅读了很多关于此的页面,但无法弄清楚如何。

我的 httpd.conf 中有以下内容并重新启动了 apache

重写图有以下条目(在第一个回复的提示之后编辑)

根目录中的 .htaccess 有以下条目

编辑:只是发布我当前的 .htaccess 文件内容以供参考

0 投票
1 回答
130 浏览

asp.net - 在 IIS 中重定向#Include

我正在处理我继承的一个大型站点,该站点混合了经典的 ASP、内联 ASP.NET 和编译的 ASP.NET,所有这些都#INCLUDE以某种形式使用标签。我一直在使用 IIS 并重写/重写地图,并且似乎找到了一个可行的解决方案来获取页面请求以重定向到新版本,因为我慢慢地将这个站点转换为可用的解决方案,但是任何被请求为的页面#INCLUDE(与用户直接请求相反)似乎不尊重重写或重写映射。如果我直接访问包含的页面,它会按预期重写,但访问嵌入 URL 的页面#INCLUDE不会。

我相当确定我理解为什么会发生这种情况(它没有被直接请求,所以重写/重定向不会发挥作用,只是像用户控件一样处理),所以有什么建议可以做到这一点吗?通常我会说只是修复使用包含指向新位置的文件,但是该站点有 4,221 个 Web 文件分散在数百个文件夹中,其中混合了超过 1MM 的图像。在混乱中搜索诸如文件名之类的字符串需要永远,所以我试图找到更高级别的东西来为我处理这个问题。

想法?

0 投票
1 回答
79 浏览

.htaccess - RewriteMap 清理 .htaccess 文件

嗨,我不擅长正则表达式,我的任务是逐行清理 .htaccess 文件。我读过 RewriteMap 是避免混乱的 .htaccess 文件的一个很好的选择,但我真的不知道从哪里开始。大多数指南似乎都需要我没有的先决知识。谁能帮我?

0 投票
1 回答
140 浏览

apache - 使用 ReWrite Map 的 301 重定向 w/2 GET 变量

我正在尝试基于此 URL 中的两个 GET 变量进行 301 重定向:http ://www.jwsuretybonds.com/surety-bonds/surety_bond.php?bond_form_id=171&bond_type_id=45

我想将其重定向到:http ://www.jwsuretybonds.com/surety-bonds/commercial-bonds/contractor-license-bonds/california/#qual

看来解决方案(301 Redirecting URLs based on GET variables in .htaccess) Stack Overflow post 是最佳实践,但我没有使用 Apache 的经验,也不知道如何修改它以使用 2 个 GET 变量。

提前感谢您的任何帮助。

0 投票
2 回答
4442 浏览

regex - 在 IIS7 中重写映射 - 如何使匹配可选地包含尾部斜杠?

我已经阅读了前 30 名 Google 热门歌曲的几种组合IIS rewrite map condition等等,但我在 microsoft.com 网站或其他地方都找不到任何像样的文档。

我在 IIS7 中有一堆重写映射,我想处理它们,而不管它们后面是否有斜杠。所以www.foo.com/barwww.foo.com/bar/都应该符合规则。

现在这工作得很好,除了我能找到/terms/匹配重写映射中的第一个键的唯一方法是复制映射,以便它读取:

考虑到我首先使用正则表达式来匹配它们,这似乎非常不雅。添加/?到条件输入或条件模式似乎不起作用。

我已经看到了IIS7 Rewrite Map Regex的答案?提到不能使用正则表达式(引用URL Rewrite Module 中的 Using Rewrite Maps)但是,正如我在那里评论的那样,这似乎与该文本之前给出的具体示例有关,而不是批发“这永远行不通” .

我错过了什么?必须有一些方法可以做到这一点;我错过了一些明显的东西吗?

0 投票
1 回答
639 浏览

apache - 在 RewriteCond 条件模式中使用变量

我想将用户 ID 与特定的应用程序 ID 相关联,例如:

我的 URI 看起来像:

现在,我希望能够在不影响用户书签的情况下轻松更改应用程序。在我的例子中,我想要两者

担任

使用以下规则,我得到无限循环:

我了解重定向后,Apache 将始终执行相同的规则。然后我尝试添加一个重写条件来阻止循环,比如

如果我正确阅读了我的重写日志,我可以看到变量 !^/${map:$2} 在条件模式中没有被替换,而是“按原样”检查。然后条件总是为真,我仍然得到我的无限循环。

一旦应用程序 id 与我的地图匹配,有什么想法可以阻止循环吗?

0 投票
1 回答
989 浏览

iis - IIS 7.5 URL 重写模块 - 用变量重写地图

我的网站上有几个页面有长且不可读的 URL,我希望能够缩短这些页面。我遇到的问题是附加带有变量值的查询字符串。

例如:“www.example.com/dir1/dir2/filename.php”缩短为“www.example.com/file”。“www.example.com/dir1/dir2/filename.php?id=2”将是“www.example.com/file/2”。“www.example.com/dir1/dir2/filename.php?id=2&alt=6”将是“www.example.com/file/2/6”。

然后我们的页面使用“id”和“alt”的值来访问我们数据库中的信息,这决定了页面的内容。这些值可以改变,并且没有固定的数量。

现在,我使用以下重写规则使第一个示例运行良好:

但是我找不到任何允许 URL 包含变量的东西。我所看到的一切都使用了静态重写,就像我当前的解决方案正在使用一样,我找不到任何关于允许任意参数的信息。

编辑:

找到了一个不使用 Rewrite Map 的更好的解决方案。我之前曾尝试过类似的规则,但由于我们测试环境中的 IIS 设置,它没有按预期工作。这个版本应该适用于大多数人。

0 投票
1 回答
821 浏览

apache - apache rewritemap 使用 txt 文件 - 匹配失败

我正在尝试使用一个简单的 txt 文件为一个最终包含大约 150 个重定向的特殊项目建立一个重写映射。

我已经阅读了此处的其他帖子并尝试应用替代模块,但我无法从中进行单个重定向实际上按预期工作:-/

要确认我的设置:

我正在使用包含 .conf 来为正确的虚拟主机更新我的 httpd.conf。在运行 /scripts/rebuildhttpdconf (和“服务 httpd 重新启动”)后,它会被正确应用,并且 httpd.conf 中的相应包含路径引用被取消注释,这告诉我它正在按预期找到包含文件。包含文件称为“redirecttest2.conf”,包含:

在上面提到的位置,我有文件'redirect2.txt',用于测试目的包含:

所以我的期望是当输入“example.com/maintenance.html”时,它会被重定向到maintenance2.html等。

在受影响域根目录的 .htaccess 文件中,我目前有以下内容:

但是,这目前没有任何效果。输入 example.com/maintenance.html 或 maintenance1.html 不会执行任何重定向 - 无论是否注释掉前两个条件。

我尝试了许多变体,有时能够完全打破它(重写循环错误、白屏,甚至重定向工作的情况,但不是转到maintenance2.html,而是将/home/example/public_html附加到url - ???) - 但我无论如何都无法让上面的示例按预期重定向。

我尝试从 VPS 的主机获得帮助,但他们不提供对此类修改的支持。

我希望有人可以看看上面的内容,也许会看到我遗漏的一些明显的东西?任何想法表示赞赏...

0 投票
1 回答
768 浏览

.htaccess - RewriteMap not working at all

I'm trying to get MapRewrite working for some vanity urls but I'm just not having any luck. I don't get errors, it just doesn't seem to work (redirect).

Here's the code I put in my vhost.conf:

What I'm looking to do is to determine if "www.mydomain.com/some_folder" exists. If it doesn't, look in "myconditions.txt" for "some_folder" and redirect to the corresponding location.

Here's an example of MyConditions.txt

Visiting www.mydomain/some_folder is simply a dead link.

Can anyone point me in the right direction?

(Note that I did test putting garbage in my Vhost.conf and .htaccess to ensure the files are being read)

0 投票
1 回答
524 浏览

performance - 使用 RewriteMaps-Text 文件的性能改进

使用 rewrite Maps 提高 URL 重定向性能的方法有哪些?

目前我正在使用文本文件中的查找键使用重写映射。文本文件中有 2000 个密钥,预计未来几个月该数字将增加 100%。

文本文件按排序顺序排列,所有 URL 重定向都是 301。

谢谢。