Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 重定向匹配查询字符串问题_Apache_Rewrite_Query String_Match - Fatal编程技术网

Apache 重定向匹配查询字符串问题

Apache 重定向匹配查询字符串问题,apache,rewrite,query-string,match,Apache,Rewrite,Query String,Match,我正在移动以前网站上的内容,其中制作了两份网站副本进行翻译,这样我就只剩下一份了 为了提供回退访问,我编写了以下重写匹配规则: RedirectMatch 301 /(en|fr)/(.+)\.php\??(.+)? /$2.php?locale=$1&$3 但它似乎不起作用 如果我改为执行以下操作,一切正常,但是我丢失了在原始链接中传递的查询字符串,这是我真正想要的 RedirectMatch 301 /(en|fr)/(.+)\.php

我正在移动以前网站上的内容,其中制作了两份网站副本进行翻译,这样我就只剩下一份了

为了提供回退访问,我编写了以下重写匹配规则:

RedirectMatch  301 /(en|fr)/(.+)\.php\??(.+)?       /$2.php?locale=$1&$3
但它似乎不起作用

如果我改为执行以下操作,一切正常,但是我丢失了在原始链接中传递的查询字符串,这是我真正想要的

RedirectMatch  301 /(en|fr)/(.+)\.php               /$2.php?locale=$1&$3
我做错什么了吗?或者不支持查询字符串?(我检查过了,但apache文档似乎没有任何限制)

提前感谢您的帮助

试试看

RedirectMatch  301 /(en|fr)/(.+)(\.php\?)?(.+)?  

再试一次。对于此链接:
http://localhost/en/view.php?id=103&abc
我被重定向到
http://localhost/view.php.php?locale=en/en/view.php
这很奇怪