Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 HTACCESS:URL的正则表达式匹配替换_Regex_.htaccess - Fatal编程技术网

Regex HTACCESS:URL的正则表达式匹配替换

Regex HTACCESS:URL的正则表达式匹配替换,regex,.htaccess,Regex,.htaccess,我希望htaccess重定向301使用regex执行以下操作: 到 新URL的3个目标是 删除/删除文件夹/ 将所有uuu替换为- 将htm替换为shtml 据我所知,你的观点2离不开a,它需要一些讨厌的配置或多条规则 这个实现应该是通用的,可以处理任意数量的下划线,但代价很高,因为它可能会触发许多重定向(事实上,如果路径中有大量下划线,则可能足以在浏览器中引发重定向错误): 替代方法包括根据需要枚举用例,或者(我猜想更好)将请求重写为perl或php脚本,并从那里执行regexp_rep

我希望htaccess重定向301使用regex执行以下操作:

新URL的3个目标是

  • 删除/删除文件夹/

  • 将所有uuu替换为-

  • 将htm替换为shtml


据我所知,你的观点2离不开a,它需要一些讨厌的配置或多条规则

这个实现应该是通用的,可以处理任意数量的下划线,但代价很高,因为它可能会触发许多重定向(事实上,如果路径中有大量下划线,则可能足以在浏览器中引发重定向错误):

替代方法包括根据需要枚举用例,或者(我猜想更好)将请求重写为perl或php脚本,并从那里执行regexp_replace+重定向301

RewriteBase /
RewriteRule ^folder/(*+)\.html?$ /folder/redirect.php [L,QSA]

据我所知,你的第2点不能没有a,这需要一些讨厌的配置或多个规则

这个实现应该是通用的,可以处理任意数量的下划线,但代价很高,因为它可能会触发许多重定向(事实上,如果路径中有大量下划线,则可能足以在浏览器中引发重定向错误):

替代方法包括根据需要枚举用例,或者(我猜想更好)将请求重写为perl或php脚本,并从那里执行regexp_replace+重定向301

RewriteBase /
RewriteRule ^folder/(*+)\.html?$ /folder/redirect.php [L,QSA]
RewriteBase /
RewriteRule ^folder/(*+)\.html?$ /folder/redirect.php [L,QSA]