1

私が取り組んでいる Web サイトには、過去に次の 2 つのページがありました。

http://www.africananimals.com/stripes/zebras

http://www.africananimals.com/news/zebras

(これらは実際のドメイン名ではなく、単なる例です。)

最近、ディレクトリ構造が再編成され、同じページの URL が次のように変更されました。

http://www.africananimals.com/zebras/stripes

http://www.africananimals.com/zebras/news

mod_rewrite ルール (または、Redirect コマンドなどのリソース消費の少ない代替方法) が、古い URL で両方のページをブックマークしている熱心な愛好家に役立つようにしたいと考えています。URL の http//www.africananimals.com と http//africananimals.com/ の両方のバージョンで機能するには、これが必要です。

私の解決策は次のとおりです。

Redirect /stripes/zebras http://www.africananimals.com/zebras/stripes
Redirect /news/zebras http://www.africananimals.com/zebras/news

– しかし、私が正しいかどうかはわかりません。正規表現が苦手で、.htaccess を表面的にしか理解していないので、何らかのガイダンスをいただければ幸いです。

4

1 に答える 1

1

リクエストに zebras という単語が含まれていない場合、この正規表現は試行されません (CPU を節約します)。これにより、最初のストライプまたはシマウマが交換され、シマウマの最後で置き換えられます。

RewriteEngine On
RewriteCond %{REQUEST_URI} zebras
RewriteRule ^(stripes|news)/zebras/?$ zebras/$1 [R,L]

/? ディレクトリが想定されているように、 / で終わる uri も受け入れるようにします。

于 2013-02-10T19:23:41.240 に答える