0

古いページが 404 を返しているため、古いページを新しい更新されたリンク構造ページにリダイレクトしようとしています。

domain.com/artist-some-name

新しい

domain.com/artist/some_name.html

いくつかの名前の間の - と _ は、スペースの代わりにそこに置かれているので、基本的には - 区切り文字を / に置き換えたい

RewriteRule ^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にスペースがあるかどうかの両方で機能するようです

4

2 に答える 2

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-9a-z. \d+または、略して を使用することもできます。

于 2013-05-06T06:01:27.607 に答える
0

RewriteRule ^artist-(.+)-(.+)$ /artist/$1_$2.html [R=301,L]

于 2013-05-05T20:37:45.120 に答える