这可能听起来像一个愚蠢的问题,我可能把苹果和橘子混淆了,但请忍耐一下。
我正在阅读这里的文档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
指令定义了一个外部函数,可以在RewriteRule
或RewriteCond
指令的上下文中调用该函数来执行过于复杂或过于专业而无法仅通过正则表达式执行的重写。
重写的类型定义为旗帜在RewriteRule
指示, 句法:
RewriteRule Pattern Substitution [flags]
大多数重写都是在服务器端悄悄完成的,浏览器甚至不知道这一点。对于外部302
重定向,您需要标志R=302
:
redirect|R[=code]
强制进行外部重定向,可选择使用指定的 HTTP 状态代码。
这Redirect
指示您使用的与s.htaccess
相关,而不是与 s 无关。mod_alias
mod_rewrite
RewriteMap