3

次のシナリオのリダイレクト ルールに苦労しています。

親フォルダー/サイト (ランディング ページ)

/について/リーダー

サブサイト(プロフィールへリンク)

/about/leaders/name1 /about/leaders/name2

/about/leaders ページを非アクティブ化して / にリダイレクトする必要がありますが、プロファイルはまだオンラインになっているはずです。

これに似ている必要があります =

RedirectMatch 301 /about/leaders/(.*) /
RedirectMatch 301 /about/leaders(.*) /$1

しかし、これはうまくいきません。サブプロファイルでは、/about/leaders の部分が削除され、/nameX のみが残ります。私はそれに対する答えを見つけることができませんでした。他の人も同様のことを達成したいと思うかもしれません。

とにかく、私はすべての助けをうれしく思います

4

2 に答える 2

10

イェンスさん、

1行のコードが必要だと思う

RedirectMatch 301 ^/about/leaders/?$ /

私はアンカーの使用について肛門です。したがって、最初に を使用して URL の先頭部分にアンカーします^。次に、必要に応じて末尾の「/」を?. 次に、それを 経由で URL の末尾に固定します$。それだけです。2 番目のディレクティブは必要ありません。

のより拡張された URL は/about/leaders/nameパターンに一致しないため、通常どおりアクセスできるはずです。

お役に立てれば!

于 2013-05-21T19:36:11.787 に答える
1

mod_rewrite を使用した方がよい場合があります。mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^about/leaders(/.*|)$ /$1 [L,R=302,NC]

正常に動作していることを確認したら、 に置き換えR=302ますR=301R=301mod_rewrite ルールをテストしている間は (Permanent Redirect) を使用しないでください。

于 2013-05-21T19:34:40.080 に答える