我正在尝试将旧页面重定向到我新更新的链接结构页面,因为旧版本现在正在提供404
旧
domain.com/artist-some-name
新
domain.com/artist/some_name.html
将某个名称之间的 - 和_放在那里而不是空格 所以基本上我想用/我可以用
替换-seperatorRewriteRule ^artist-(.+)$ /artist/$1.html [R=301,L]
但我无法理解如何将some-name更改为some_name以便正确重定向
EDIT RewriteRule ^ artists - (。+) - (。+)$ /artist/$1_$2.html [R = 301,L] RewriteRule ^ artists - (。+)$ /artist/$1.html [R = 301,L]
这似乎适用于url中的空格
答案 0 :(得分:0)
RewriteRule ^ artist - (。+) - (。+)$ /artist/$1_$2.html [R = 301,L]
答案 1 :(得分:0)
尝试一下:
RewriteRule ^artist-([a-z]+)-([a-z]+)$ /artist/$1_$2.html [NC,R=301,L]
RewriteRule ^artist-([a-z]+)$ /artist/$1.html [NC,R=301,L]
您需要限制通配符,以便只包含字母。如果您需要包含数字(正则表达式中的“数字”),则可以在0-9
旁边添加a-z
。或者,您可以使用\d+
,简称。