0

ブログをOctopressに移動するプロセスを開始しましたが、残念ながら、Jekyllの制限により、パーマリンクに省略された月の名前を使用できません。したがって、月日のビットを完全に取り除くことを目指しています。

この記事では、Herokuを使用してリダイレクトをホストしているため、rack-rewriteを使用してリダイレクトを処理できることを読みました。

だから私はどのように向きを変えますか?

これ:example.com/journal/2012/jan/03/post-of-the-day/
これに:example.com/journal/2012/post-of-the-day/


追加のポイント:にリダイレクトされる別のルールがある場合/blog//journal/そのルールは上記のルールにも準拠しますか?だからから:

これ:example.com/blog/2012/jan/03/post-of-the-day/
これに:example.com/journal/2012/jan/03/post-of-the-day/
そして最後に:example.com/journal/2012/post-of-the-day/

よろしくお願いします。:)

4

2 に答える 2

2

私の最初の考えは、スラッシュ間のすべてのチャンクをキャッチして、必要なものだけを表示することです。

したがって、次のようなものが機能します。

// given example.com/blog/2012/jan/03/post-of-the-day/

r301 %r{\/blog\/(.*)\/(.*)\/(.*)\/(.*)\/$}, '/journal/$1/$4/'

ここに私が何を意味するかを示すRubularへのリンクがありますhttp://rubular.com/r/La6rjrE5Hw

于 2012-07-11T09:21:31.377 に答える
1

新しい URL 構造にヒットしたときに失敗するような何かを誤って書き直さないように、できる限り具体的にする必要があります。また、私はラック書き換えを知らないことに注意してください。そのため、その点については redroot89 のリードに従っています。

r301 %r{^\/(:blog|journal)\/([0-9]{4})\/[a-z]{3}\/[0-9]{2}\/(.*)\/$}, '/journal/$1/$2/

これは年とナメクジだけをキャプチャしますが、残りはより具体的なパターンで見つけます。また、 を含める(:blog|journal)ことで、2 つのリダイレクトを連鎖させることなく、両方を 1 回でリダイレクトできます。

于 2012-07-11T13:59:28.380 に答える