Regex 用于编码get参数(%3f)的HTACCESS规则

Regex 用于编码get参数(%3f)的HTACCESS规则,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,标题几乎猜测了我想要达到的目标, 这是一个服务器唯一的东西,没有其他中间语言,但 阿帕奇。此操作的目的是呈现以下下载的网页: 将请求附加到它们,并将它们视为独立的 网页 RewriteEngine On RewriteRule ^(.*)$ /foo/bar/$1 [R=301,NC,L] 我知道这是可能的,因为我昨天偶然做了这件事,但忘了记下它是如何完成的。您可以尝试将/index.asp%3fid=12345内部转换为/index.asp?id=12345: RewriteCond %{T

标题几乎猜测了我想要达到的目标, 这是一个服务器唯一的东西,没有其他中间语言,但 阿帕奇。此操作的目的是呈现以下下载的网页: 将请求附加到它们,并将它们视为独立的 网页

RewriteEngine On
RewriteRule ^(.*)$ /foo/bar/$1 [R=301,NC,L]

我知道这是可能的,因为我昨天偶然做了这件事,但忘了记下它是如何完成的。

您可以尝试将
/index.asp%3fid=12345
内部转换为
/index.asp?id=12345

RewriteCond %{THE_REQUEST} \s/+([^?]*)\?([^=]+=[^\s&]+)
RewriteRule ^ /%1\%3f%2? [L,NE,R]

RewriteRule ^([^.]+\.(?:php|asp))[^=]+=(.+)$ /$1?id=$2 [NC,L,QSA]

“转请求自”,你的意思是重定向浏览器?我特别提到了“转请求自服务器获取资产”,但301/302如果能实现同样的目标就可以了,更新了我的措辞,希望它更有意义?两件事,一是索引是动态的,我永远不知道我将要更改什么文件,这需要对所有文件进行操作,所以它需要考虑所有问题。查询字符串也是如此,我永远不知道参数是什么。再加上一个是一个漂亮的答案。好吧,我把索引部分改成了通用的,但是你能根据你的评论在你的问题中再贴一些例子吗,这样我就可以理解并相应地修改代码。我刚刚意识到,你在做与我所问相反的事情,我正在试图改变?进入%3f!!!