いくつかのトライアルのためにApacheからCherokeeに移動しています
Apacheで行うチェロキーでリダイレクトを実行したい:
#WWWの正規名にリダイレクトRewriteEngine On RewriteCond%{HTTP_Host}!= www.domain.com RewriteRule ^ http://www.domain.com% {REQUEST_URI} [R = 301、L]
しかし、これがどのように行われるかについての説明を見つけることができません
修正されたヘルプ
答えを見つけた
基本的に、別の仮想ホストを作成し、デフォルトハンドラーを元のホストへのリダイレクトとして設定する必要があります。
すべての情報はここにあります http://www.cherokee-project.com/doc/modules_handlers_redir.html
私が欲しかったのは、より多くの仮想ホストを再作成する必要なしにリダイレクトを設定する機能、つまり、ApacheがModRewriteインラインで私に許可する方法でした
うまくいけば、彼らはすぐにこれのためのハンドラーを作成するでしょう:
つまり、www.domain.comとdomain.comが同じルートに移動することを選択できるハンドラーであり、www.domain.comまたは.domain.comのどちらかをメインのリダイレクトとして選択します:)それが理にかなっていることを願っています。
リダイレクトするのが1つの特定のドメイン/サブドメイン(または適度に少数のドメイン)である場合は、個別の仮想ホストは必要ありません(ただし、必要に応じてそのルートを使用できます)。 _domain.com
_のようなネイキッドドメインをチェロキーv0.99.39のwww
サブドメイン(_www.domain.com
_)にリダイレクトする手順は次のとおりです。
Virtual Servers
_リンクをクリックしてから、のNickname
をクリックします。リダイレクト元の仮想サーバー。あなたはおそらくこの仮想サーバーを_domain.com
_と呼んでいます(またはその_Host Match
_セクションに_*domain.com
_のエントリがあります);または、default
仮想サーバーの場合もあります。Behavior
タブをクリックします。Add new rule
_ボタンをクリックします。Rule Type
_にHeader
を選択します。Host
にHeader
を選択します。^domain.com
_に_Regular Expression
_と入力します(Tabキーを押して次の画面に進みます)。このシナリオでは、リダイレクト元のドメインの前に_^
_を追加して、サブドメインではなく、ネイキッドドメインのみを照合します。Handler
タブをクリックします。Redirection
にHandler
を選択します。Regular Expression
_に/(.*)
と入力します。http://www.domain.com/$1
_を入力します(UIが変更を処理できるようにもう一度Tabキーを押します)。 _$1
_は、ステップ9の正規表現からの最初のキャプチャグループのコンテンツを配置する場所を示します。Save
ボタンをクリックします。http://domain.com/
_に移動し、301で_http://www.domain.com/
_にリダイレクトされていることを確認します。)チェロキーのWebインターフェイスにこのためのテンプレートがあります(少なくとも1.0.8では):
vServers
をクリックしますNew
ボタンを押しますTasks
の下でVirtual Server Redirection
を選択しますexample.com
にOrigin Domain
を入力しますwww.example.com
にTarget Domain
を入力しますCreate
ボタンを押します複数のドメインをTarget Domain
にリダイレクトすることもできます。
/dev/null
である必要があります)Host Match
タブに移動しますMethod
はWildcards
に設定する必要があります(代わりにRegular Expressions
を選択できます)Add New
ボタンを押して、ドメイン名を追加します修正は間もなくリリースされる可能性が高いです: http://bugs.cherokee-project.com/722