1

一部の WordPress アップロード フォルダーをリダイレクトし、他のフォルダーはそのままにしておく必要があります。たとえば、にリダイレクトhttp://www.mysite.com/wp-content/uploads/2009/08/image.jpgする必要がありhttp://www.mysite.com/assets/2009/08/image.jpgます。

私はこれを試しました:

RedirectMatch 301 http://www.mysite.com/assets/2009/08/(.*)$ http://www.mysite.com/wp-content/uploads/2009/08/$1

私はRedirectMatch他のリダイレクトに使用していますが、それらは機能しているのでRedirectMatch有効になっています。

何が欠けているのかわかりません。

助けてくれてありがとう。

4

1 に答える 1

2

RedirectMatchプロトコルとホスト名は、ディレクティブの一致には含まれません。URI に対してのみ一致します (ホスト名の後のすべて、たとえば/wp-content/uploads/2009/08/image.jpg)。http://www.mysite.comまた、同じサイトにリダイレクトしているため、ターゲットにも必要ありません。

RedirectMatch 301 ^/assets/2009/08/(.*)$ /wp-content/uploads/2009/08/$1

しかし、あなたが求めている質問は次のとおりです。

http://www.mysite.com/wp-content/uploads/2009/08/image.jpghttp://www.mysite.com/assets/2009/08/image.jpgにリダイレクトする必要があります。

これは、 wp-contentからassets移行したい場合、2 つのことを逆にしたことを意味します。それらを交換する必要があります:

RedirectMatch 301 ^/wp-content/uploads/2009/08/(.*)$ /assets/2009/08/$1

または、さらに一般化することもできます。

RedirectMatch 301 ^/wp-content/uploads/([0-9]{4})/([0-9]{2})/(.*)$ /assets/$1/$2/$3
于 2012-12-21T06:16:22.813 に答える