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 mod_重写规则:如果URL包含指向原始URL的特定字符串_Apache_Mod Rewrite - Fatal编程技术网

Apache mod_重写规则:如果URL包含指向原始URL的特定字符串

Apache mod_重写规则:如果URL包含指向原始URL的特定字符串,apache,mod-rewrite,Apache,Mod Rewrite,我的客户一直在编辑网站中导航的结构,这导致了一些mod_重写问题。我如何在apache中制定此规则: 实际的ur是 /AuthCont?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&T_ID=ND 但如果用户手动将AuthenticationFG.LOGIN\u FLA

我的客户一直在编辑网站中导航的结构,这导致了一些mod_重写问题。我如何在apache中制定此规则:

实际的ur是

/AuthCont?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&T_ID=ND
但如果用户手动将AuthenticationFG.LOGIN\u FLAG=1更改为AuthenticationFG.LOGIN\u FLAG=2或AuthenticationFG.LOGIN\u FLAG=3,则应将其重写为实际AuthenticationFG.LOGIN\u FLAG=1,请帮助:

修改查询字符串:在访问/path时,将查询字符串中的任何单个val实例更改为其他val。请注意%1和%2是对上一次重写中正则表达式的匹配部分的反向引用

因此,您可以尝试以下示例:

 RewriteCond %{QUERY_STRING} ^(.*)LOGIN_FLAG=2(.*)$
 RewriteCond %{QUERY_STRING} ^(.*)LOGIN_FLAG=3(.*)$
 RewriteCond %{QUERY_STRING} ^(.*)LOGIN_FLAG=4(.*)$
 # and so on for all the numbers...
 # then:
 RewriteRule /AuthCont /AuthCont?%1LOGIN_FLAG=1%2
编辑

好的,试试这个:

 RewriteCond %{QUERY_STRING} ^(.*)LOGIN_FLAG=(.*)$
 RewriteRule ^(.*)$ http://your_domain_here.com/AuthCont?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&T_ID=ND? [L]

我过去在尝试重新编写大型查询字符串时遇到过问题,这在很大程度上取决于主机提供商。尝试创建一个带有小URI字符串的测试用例,以确保这不是问题所在。另外,请验证是否已启用Apache mod_rewrite指令?在重写规则的末尾,需要在末尾添加,因此完全忽略原始导航
 RewriteCond %{QUERY_STRING} ^(.*)LOGIN_FLAG=(.*)$
 RewriteRule ^(.*)$ http://your_domain_here.com/AuthCont?FORMSGROUP_ID__=AuthenticationFG&__START_TRAN_FLAG__=Y&FG_BUTTONS__=LOAD&ACTION.LOAD=Y&AuthenticationFG.LOGIN_FLAG=1&T_ID=ND? [L]