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

apache - apache重写映射重定向到404

我的情况:

我实现了一个 apache Rewrite Map 来重定向基于数据库的传入请求

到目前为止一切正常,但我想在 dbapp.rb 脚本天气中决定重定向或给客户端一个 http-status-code-404。我可以只提供一个不存在但似乎不正确的本地页面。我也希望它可以在任何服务器上使用,并且重定向到“localhost”也不是一个选项;-)

0 投票
2 回答
1431 浏览

apache - 是否需要对 rewritemap 文件进行任何更改来重新启动 apache 服务?

我在 RewriteMap 指令中使用 perl 脚本文件作为映射文件。当我在开始阅读 apache 时加载脚本一次,那么在对该脚本文件进行任何更改后是否需要重新加载或重新启动 apache?

0 投票
4 回答
15241 浏览

regex - 如何在重写条件中匹配 www 和非 www?

我有一个重写映射,其中包含要重定向的域列表。目前我必须在重写地图中列出 www.foo.com 和 foo.com。我想知道是否有一种方法可以在同一行中同时检查 www 和非 www 的 rewritecond。

我尝试做 (www.)%{HTTP_HOST} 或 ^(www.)%{HTTP_HOST} 之类的事情,但没有运气。

0 投票
1 回答
336 浏览

apache - 在不访问 htdocs 的情况下重写地图

我在虚拟服务器上,所以我无法访问 Apache 的 htdocs;我只有.htaccess。是否仍然可以进行重写地图?有哪些解决方法?

0 投票
2 回答
626 浏览

apache - 如果不存在重写映射到 404

我创建了一个运行良好的重写映射:

.htaccess

RewriteRule ^([^/\.]+)/?$ index.php?page=${mymap:$1} [L]

我的地图.txt

所以 www.myurl/home 工作正常,但是 mymap.txt 中不存在 www.myurl/nonexistant_page 所以我得到一个 SQL 错误。有没有办法检查地图是否存在,如果没有到 404 页面?

0 投票
1 回答
936 浏览

mysql - RewriteMap MapType dbd 的问题

继续这里的另一个讨论:

MySQL + htaccess mod_rewrite?

我被要求在哪里开始另一个问题。

我将此添加到我的 httpd.conf 文件中:

当我尝试重新启动 Apache 时,出现此错误:

看起来它完全忽略了该dbd部分并试图将整个内容作为文件名读取。我真的不知道我做错了什么。

更新

我尝试简化这一点,并为地图使用纯文本文件:

RewriteMap hrci txt:/home/username/rewrite.txt

根目录中有一个文本文件,其中仅包含以下内容:

232 The+Pillar+of+秋天+LASO

最后,我有我的重写规则:

RewriteRule ^ch([0-9]{1,4})(/)?$ http://reachchallenge.infectionist.com/challenge/ $1/${hrci:$1} [R=301,L]

所以访问路径ch232应该重定向到/challenge/232/The+Pillar+of+Autumn+LASO,但它只是重定向到/challenge/232/,没有标题。我到底做错了什么?!?

0 投票
2 回答
1785 浏览

.htaccess - .htaccess 重写 URL - RewriteMap

我有以下 RewriteMap 函数:

我正在尝试将我的index.php?shop_id=1重写为/company-name /

所以我的 map_company.txt 文件包含:company-name 1

我似乎无法让它工作。这是我的 htaccess 文件:

如果我这样做,那么我会收到错误:文件不存在:/var/www/vhosts/domain.com/httpdocs/company-name

有没有人有任何想法?我还需要确保它不会影响我的标准文件夹,如“css、js、图像”。

0 投票
1 回答
2592 浏览

apache - 当我在 .htaccess 中有 RewriteMap 时出现错误 500

我有一个这种格式的地图文件

我有以下 .htaccess 脚本。当有问题的页面被点击时,我收到 500 内部服务器错误。

当我传递以下 URL 时,我希望它被重写如下。

应该这样改写

有什么想法吗?

0 投票
1 回答
812 浏览

apache - Apache RewriteMap 用于防止直接访问文件

我正在尝试使用 RewriteMap 函数的结果有条件地允许访问目录。
目的是从 cookie (my_cookie) 中读取时间戳并将其传递到我在 httpd.conf 中定义的 RewriteMap (my_rewrite_map_func) 中(如果时间戳在cookie 在 Apache 中当前时间的一定范围内)。

我的 .htaccess 文件的内容是:

我可以确认程序本身正在运行,正在读取 cookie,并且 Apache 时间戳和 cookie 时间戳在允许的范围内。

第二个 RewriteCond 上的正则表达式检查 ${my_rewrite_map_func:%{TIME}%1|FALSE} 的返回值是否为 FALSE,但是,无论我将其设置为什么,RewriteRule 都不会发生。

本质上,我无法确定如何评估 ${my_rewrite_map_func:%{TIME}%1|FALSE} 的值。有没有办法更好地提取或存储它的价值?

非常感激任何的帮助。

更新 - 解决方案: 我不确定为什么这个问题被标记为离题,它涉及通过使用 mod_rewrite 调用 C++ 程序的 Apache .htaccess 文件来保护 html 文件免受 php 脚本的影响。

无论如何,上面的代码在与另外两行结合使用来处理 cookie 不存在的情况时可以完美地工作:

希望这将帮助其他在同一问题上遇到困难的人;在网络上的其他地方似乎没有什么成功。

我的具体案例涉及防止直接访问 html 和其他文件而不直接修改它们或使用下载脚本。PHP 代码用于生成包含指向这些文件的链接的页面,Javascript 从中执行 ajax 调用以检索服务器的时间戳并设置 cookie。cookie 中的时间戳与 Apache 在页面加载时的时间进行比较,如果它在某个范围内,则授予访问权限。

0 投票
1 回答
254 浏览

asp.net - IIS 7.0 中的 URL 重写

我有两个单独的配置文件,其中包含 url reqwrite 标签,我想将这些文件指向 web.config,在 rewrite 元素下,直到我有一个

如果我添加一个类似的标签来指向另一个文件,它会引发 500 服务器错误我可以添加多个 rewriteMaps 标签来指向 web.config 中的多个文件,或者任何替代,2 个单独文件背后的原因是一个用于重写,另一个用于静态重定向