1

私はこのようなURLを持っています:

my-party / viewparty / 243-party-in-berlin-2013.html

ここで、URLの可変部分は次のとおりです。

243-party-in-berlin-2013.html

次のようなURLを取得する必要があります。

events / party-in-berlin-2013.html

どうすればapache書き換えルールでそれを行うことができますか?「my-party/viewparty」を削除できましたが、可変リンクの部分を削除できません。どうもありがとうございます

アレッサンドロ

4

1 に答える 1

1

以下は、任意の URI を次の形式でマップします。

my-party/viewparty/<digits>-<rest-of-file-name>.html

/events/<rest-of-file-name>.html

RewriteEngine On
RewriteCond %{REQUEST_URI} my-party/viewparty/\d+-([^\.]*\.html)$
RewriteRule .* /events/%1 [L]

.htmlそれが機能する方法はmy-party/viewparty/\d+-、要求 uri の最後の部分 (ドル記号で示される) を (括弧内にあるもの) キャプチャすることです\d+。一桁の。次に、このキャプチャされたパターン ( で示される%1) を/events/に追加しRewriteRuleます。

新しい URI にリダイレクト ( 301 Moved Permanently ) する場合は、次を使用します。

RewriteEngine On
RewriteCond %{REQUEST_URI} my-party/viewparty/\d+-([^\.]*\.html)$
RewriteRule .* /events/%1 [R=301,L]

また、パーツが可変でない場合は、単純にこれparty-in-berlin-2013に置き換えることができます。RewriteCond

RewriteCond %{REQUEST_URI} my-party/viewparty/\d+-(party-in-berlin-2013\.html)$
于 2013-02-12T10:31:53.513 に答える