问题标签 [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 回答
241 浏览

iis - 使用重写映射重写规则

我在创建使用 IIS 中的重写映射的重写规则时遇到了问题。目标是重写请求,比如/Japan/test.htmlor/Chile/test.htmljp/en/simple-testand cl/en/simple-test

这是重写规则:

这是我的重写地图:

所以再一次,我想将所有语言动态翻译成语言代码并重写为language_code/en/simple-test. 我想使用重写地图,因为会有更多的语言。

0 投票
1 回答
297 浏览

python - 多个值 RewriteMap prg

我无法通过 RewriteMap prg 传递多个值。这就是我所拥有的:

我只能从标题中传递一个变量,但不超过两个。任何帮助将不胜感激。

谢谢!

0 投票
1 回答
179 浏览

apache - 具有多个 RewriteCond 的 Apache RewriteMap 不起作用

我正在使用一个RewriteMap和一个规则(使用地图)和两个RedirectCond

但它不起作用。我应该使用${lc:%1}or${lc:$1}吗?根据 Apache 文档,我们需要使用$forRewriteMap%for RewriteCond

0 投票
1 回答
119 浏览

.htaccess - 我可以在共享托管 Apache 服务器上使用 RewriteMap 吗?

我知道必须先定义 RewriteMap 才能在 .htaccess 文件中使用它。但我不确定我是否可以在共享主机中做到这一点。有什么办法可以在服务器上自己做吗?

我想要做的是将大写的 URL 重定向到小写。我正在尝试使用 .htaccess 来做到这一点(如果有任何其他可行的选择,请描述)。但是当我尝试使用 RewriteMap 时,它说不允许。我了解到您需要先定义它。所以,我需要知道我是否可以在服务器上自己做。

请不要给出诸如询问主持人或技术支持之类的答案。我要这样做。但在此之前,我想了解一些有关这方面的信息。很多时候技术团队不够好。有时我们往往比他们拥有更多的知识,而且我经常发现他们有意或无意地提供了不正确的信息。我也希望其他有类似问题的人得到他们的答案。所以我发布了这个问题。

我也愿意接受任何建议在不使用 RewriteMap 的情况下执行此重定向。我已经看到了一些进行重定向的规则,但它不正确。他们有一些问题。

任何帮助都将受到欢迎和赞赏。

谢谢你。

0 投票
1 回答
169 浏览

mod-rewrite - Apache 无法检测到 URL 并将其重写为小写

我想达到什么目的?

我想将/migrate目录(和子目录)中的所有 URL 转换为小写。

我做了什么?

我已将我的网站从 DNN 迁移到 Wordpress。因此,我的帖子中有 URL,这些 URL 引用了大小写字母组合的图像。

/migrate文件夹(和子文件夹)中磁盘上的所有目录和文件都是小写的。

当我查看一篇文章时,如果对图像的引用包含大写字符,我会得到预期的 404。

例如:

https://xxx.domain.net/wp-content/migrate/ABC/image.jpg

https://xxx.domain.net/wp-content/migrate/Xyz/image.jpg

https://xxx.domain.net/wp-content/migrate/abc/Image.jpg

https://xxx.domain.net/wp-content/migrate/ABC/Xyz/image.jpg

所以在网上和这里阅读了各种文章后,我尝试了一些事情:

1) 启用 mod_speling 并将其添加到 apache2.conf

这没有用,继续得到404。

2) 厌倦了在我的 /etc/sites-enabled/mysite.conf 文件中使用 Rewritemap。

但是,这会将所有URL 重写为小写,并且由于磁盘上的文件具有大写字符,它会破坏一些 Wordpress 插件和编辑器。

我在 Wordpress 根目录下的 .htaccess 文件如下:

0 投票
1 回答
18 浏览

apache - 如何使用 RewriteMap 和 Rewrite 处理 html 页面

我有一个重写图,内容如下 -

上面的 URL 工作正常,它通过传递将源重定向到目标。

现在,我的要求是,如果使用 html 扩展名(例如 domain.com/sub1/sub2.html)访问 URI,那么它应该重定向到具有 404 状态代码的页面。

(1)不修改当前map文件可以实现吗?注意:在我的网站中,只有 dbm 地图文件中的页面是没有 html 扩展名的页面。所有页面都带有 .html 扩展名。(2) dbm map 中不存在的所有页面都是.HTML 页面,最后用/(或不带任何扩展名)访问时应该重定向到404 页面?

有人可以帮忙吗?

问候

0 投票
0 回答
36 浏览

apache - Apache RewriteMap 无法找到外部文件中存在的 url

如何检查某些外部文件中是否存在 url。

只需检查给定的请求 URI 是否在虚 url 列表中。

虚 url 的文件存在于 /mnt/var/www/html/vanity_urls.txt

0 投票
1 回答
17 浏览

apache - 为什么我的 mod_proxy 标志在 htaccess 中停止工作?

我创建了一个 RewriteMap 来处理大量的域代理。我的重写条件如下所示:

基本上,我的 RewriteMap 将查看传入的域,将其与数据库中的条目匹配,并返回类似“用户/用户 ID”的内容。

例如,这将在地址栏中显示传入域,但显示在http://exampledomain.com/user/userid/返回的内容

现在,由于某种原因,我得到了一个 301 重定向到http://exampledomain.com/user/userid/ — 没有代理。这可能是什么原因造成的?

0 投票
0 回答
25 浏览

apache - 如何修复 RewriteRule RewriteMap 语法

我正在编写一个多站点平台,目前在我的 virtualhost/.htaccess 中使用以下内容

我想将尾部斜杠 (/$1) 放在重写规则中,这样我就可以添加一个通用的 404 页面(在有人问之前:我不想使用多个 ErrorDocument 404 条目——这对于这个项目是不可行的)。

所以添加404.php ...

这个:${sitemap:%1}/$1 [L]

变成:${sitemap:%1/|404.php?catch=}$1 [L]

例如。

问题是,${sitemap:%1/失败。即使我反斜杠${sitemap:%1\/

有谁知道我做错了什么?

非常感谢

0 投票
1 回答
87 浏览

apache - 使用 RewriteMap 减少重定向

我在文件中有一个 RewriteMap,并且想要处理(忽略)可选的尾随斜杠。我想尽量减少尾部斜杠案例中的重定向数量。如何更改 apache 配置?

配置:

结果(好的):

下面的作品,但我想避免中间重定向: