我在.htaccess
RewriteRule ^([^_]+)_(.+?\.html)$ $1-$2 [L,NC,E=underscores:Yes]
RewriteCond %{ENV:REDIRECT_underscores} ^Yes$
RewriteRule ^([^_]+)$ /$1 [R=301,L]
不幸的是,如果有超过十个下划线,代码将失败。我甚至可以将下划线逐个更改为连字符以减少数量,然后页面会重定向。例如 变化
http://www.astarmathsandphysics.com/igcse_maths_notes/igcse_maths_notes_cumulative_frequency_curves_quartiles_interquartile_range_and_median.html
到
http://www.astarmathsandphysics.com/igcse_maths_notes/igcse_maths_notes_cumulative_frequency_curves_quartiles_interquartile_range-and-median.html
如何更改代码以重定向任意数量的下划线
答案 0 :(得分:0)
您的limitinternalrecursion
参数设置为10.因此在10次替换后放弃。 Apache试图保护您免受重写规则中的无限递归。
http://httpd.apache.org/docs/2.2/mod/core.html#limitinternalrecursion
LimitInternalRecursion的默认值为10