Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
如何将ReGEX表达式看作块来应用LoopBeIDS和查找表?_Regex_.htaccess_Redirect_Infinite Loop - Fatal编程技术网

如何将ReGEX表达式看作块来应用LoopBeIDS和查找表?

如何将ReGEX表达式看作块来应用LoopBeIDS和查找表?,regex,.htaccess,redirect,infinite-loop,Regex,.htaccess,Redirect,Infinite Loop,我正在尝试转换此类型的字符串: http://example.com/mypage/272-16+276-63+350-02 其中,aaa bb是产品代码,它们的数字可能从2到任何数字不等,但我怀疑其中可能会有超过5个: http://example.com/mypage/272-16+276-63+350-02/?SKU=272-16+276-63+350-02 使用重定向匹配。我对正则表达式还相当陌生,而且我似乎无法按照我想要的方式使用负的前向和后向 第一次捕获字符串相当容易,我使用了([\

我正在尝试转换此类型的字符串:

http://example.com/mypage/272-16+276-63+350-02

其中,
aaa bb
是产品代码,它们的数字可能从2到任何数字不等,但我怀疑其中可能会有超过5个:

http://example.com/mypage/272-16+276-63+350-02/?SKU=272-16+276-63+350-02

使用重定向匹配。我对正则表达式还相当陌生,而且我似乎无法按照我想要的方式使用负的前向和后向

第一次捕获字符串相当容易,我使用了
([\-\+0-9]+)
,但我不希望它在重定向时匹配(当我的链接中已经有一个?时)。使用
([\-\+0-9]+)(?!\?)(?可以尝试
(?您不能将mod_rewrite(RewriteCond)和mod_alias(RedirectMatch)混合在一起。您需要坚持使用其中一个,并且无法将查询字符串与RedirectMatch匹配,因此您使用mod_rewrite:

RewriteEngine On
RewriteCond %{QUERY_STRING} !skus=
RewriteRule ^mypage/([\-\+0-9]+)$ /mypage/$1?skus=$1 [L,R=301]

你使用这个正则表达式的目的是什么语言/技术?真的不确定你在问什么,你能澄清这个问题并提供简洁的例子和你想要匹配的吗?@nhahtdh:这是一个WP网站,这进入了一个新的领域。htaccess@remus:基本上,我想使用重定向匹配将重定向从第一个链接放到第二个链接t具有无限重定向循环。正则表达式是否确实需要验证所有产品代码是否也是相同的格式?例如,
272-16+2-63+350-02
将不匹配,因为第二个产品的第一个数字长度不是3。