问题标签 [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.
apache - apache重写映射重定向到404
我的情况:
我实现了一个 apache Rewrite Map 来重定向基于数据库的传入请求
到目前为止一切正常,但我想在 dbapp.rb 脚本天气中决定重定向或给客户端一个 http-status-code-404。我可以只提供一个不存在但似乎不正确的本地页面。我也希望它可以在任何服务器上使用,并且重定向到“localhost”也不是一个选项;-)
apache - 是否需要对 rewritemap 文件进行任何更改来重新启动 apache 服务?
我在 RewriteMap 指令中使用 perl 脚本文件作为映射文件。当我在开始阅读 apache 时加载脚本一次,那么在对该脚本文件进行任何更改后是否需要重新加载或重新启动 apache?
regex - 如何在重写条件中匹配 www 和非 www?
我有一个重写映射,其中包含要重定向的域列表。目前我必须在重写地图中列出 www.foo.com 和 foo.com。我想知道是否有一种方法可以在同一行中同时检查 www 和非 www 的 rewritecond。
我尝试做 (www.)%{HTTP_HOST} 或 ^(www.)%{HTTP_HOST} 之类的事情,但没有运气。
apache - 在不访问 htdocs 的情况下重写地图
我在虚拟服务器上,所以我无法访问 Apache 的 htdocs;我只有.htaccess。是否仍然可以进行重写地图?有哪些解决方法?
apache - 如果不存在重写映射到 404
我创建了一个运行良好的重写映射:
.htaccess
RewriteRule ^([^/\.]+)/?$ index.php?page=${mymap:$1} [L]
我的地图.txt
所以 www.myurl/home 工作正常,但是 mymap.txt 中不存在 www.myurl/nonexistant_page 所以我得到一个 SQL 错误。有没有办法检查地图是否存在,如果没有到 404 页面?
mysql - RewriteMap MapType dbd 的问题
继续这里的另一个讨论:
我被要求在哪里开始另一个问题。
我将此添加到我的 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/
,没有标题。我到底做错了什么?!?
.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、图像”。
apache - 当我在 .htaccess 中有 RewriteMap 时出现错误 500
我有一个这种格式的地图文件
我有以下 .htaccess 脚本。当有问题的页面被点击时,我收到 500 内部服务器错误。
当我传递以下 URL 时,我希望它被重写如下。
应该这样改写
有什么想法吗?
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 在页面加载时的时间进行比较,如果它在某个范围内,则授予访问权限。
asp.net - IIS 7.0 中的 URL 重写
我有两个单独的配置文件,其中包含 url reqwrite 标签,我想将这些文件指向 web.config,在 rewrite 元素下,直到我有一个
如果我添加一个类似的标签来指向另一个文件,它会引发 500 服务器错误我可以添加多个 rewriteMaps 标签来指向 web.config 中的多个文件,或者任何替代,2 个单独文件背后的原因是一个用于重写,另一个用于静态重定向