RewriteMap 指令(永久重定向还是临时重定向?)

RewriteMap 指令(永久重定向还是临时重定向?)

这可能听起来像一个愚蠢的问题,我可能把苹果和橘子混淆了,但请忍耐一下。

我正在阅读这里的文档http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#mapfunc

它说当使用外部.txt 文件时,格式是一个简单的键/值对示例:

从这里.html 到这里.html

^ 我想确认上述操作是否会创建一个临时的 302 重定向(浏览器不会主动缓存),或者我可以在 htaccess 文件中的实际 RewriteRule 中指示要使用的重定向类型(301/302)?(如果可以,如何操作?)

目前我在 .htaccess 文件本身中使用以下语法

将 302 从Here.html 重定向到Here.html

上述语法在外部.txt 文件中允许吗?

谢谢

答案1

重写不等于重定向!来自使用 RewriteMap

RewriteMap指令定义了一个外部函数,可以在RewriteRuleRewriteCond指令的上下文中调用该函数来执行过于复杂或过于专业而无法仅通过正则表达式执行的重写。

重写的类型定义为旗帜RewriteRule指示, 句法:

RewriteRule Pattern Substitution [flags]

大多数重写都是在服务器端悄悄完成的,浏览器甚至不知道这一点。对于外部302重定向,您需要标志R=302

redirect|R[=code]

强制进行外部重定向,可选择使用指定的 HTTP 状态代码。

Redirect指示您使用的与s.htaccess相关,而不是与 s 无关。mod_aliasmod_rewriteRewriteMap

相关内容