我已经更改了我的链接结构,并尝试将旧链接301添加到新链接中以阻止他们获得404s
旧链接
www.domain.comn/artistfirstname-artistsecondname/songfirstword-songsecondword
新链接
www.domain.com/mp3/artistfirstname_artistsecondname-songfirstword_songsecondworld.html
我正在尝试重写旧链接以指向新链接,但我需要将第一个链接中的破折号更改为下划线,以便我可以执行类似
的操作RewriteRule ^(.*)/(.*)$ mp3/$1-$2.html
还需要考虑只有1个单词的艺术家和歌曲,这意味着他们不会在网址中留下破折号。
答案 0 :(得分:0)
尝试:
RewriteCond %{REQUEST_URI} !^/mp3/
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)$
RewriteRule ^(.*)-(.*)$ /$1_$2 [L]
RewriteCond %{REQUEST_URI} !^/mp3/
RewriteCond %{REQUEST_URI} !\-
RewriteRule ^([^/]+)/([^/]+)$ /mp3/$1-$2.html [L,R=301]
第一条规则将使用下划线迭代替换短划线,但不会重定向。第二条规则确保所有短划线都消失了,然后重定向,/
被短划线替换。