1

我已经改变了我的链接的结构,并试图将我的旧链接 301 到新链接,以阻止它们都得到 404

旧链接

www.domain.comn/artistfirstname-artistsecondname/songfirstword-songsecondword

新链接

www.domain.com/mp3/artistfirstname_artistsecondname-songfirstword_songsecondworld.html

我正在尝试重写旧链接以指向新链接,但我需要将第一个链接中的破折号更改为下划线,以便我可以执行类似的操作

RewriteRule ^(.*)/(.*)$ mp3/$1-$2.html

还需要考虑只有 1 个单词的艺术家和歌曲,这意味着他们不会在 url 中以破折号开头。

4

1 回答 1

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]

第一条规则将迭代地用下划线替换破折号,但不重定向。第二条规则确保所有破折号都消失了,然后用破折号替换被重定向/

于 2013-05-16T21:18:07.800 回答