web-dev-qa-db-ja.com

301リダイレクトのチェロキールール

いくつかのトライアルのためにApacheからCherokeeに移動しています

Apacheで行うチェロキーでリダイレクトを実行したい:

#WWWの正規名にリダイレクトRewriteEngine On RewriteCond%{HTTP_Host}!= www.domain.com RewriteRule ^ http://www.domain.com% {REQUEST_URI} [R = 301、L]

しかし、これがどのように行われるかについての説明を見つけることができません

修正されたヘルプ

1
Ian Warner

答えを見つけた

基本的に、別の仮想ホストを作成し、デフォルトハンドラーを元のホストへのリダイレクトとして設定する必要があります。

すべての情報はここにあります http://www.cherokee-project.com/doc/modules_handlers_redir.html

私が欲しかったのは、より多くの仮想ホストを再作成する必要なしにリダイレクトを設定する機能、つまり、ApacheがModRewriteインラインで私に許可する方法でした

うまくいけば、彼らはすぐにこれのためのハンドラーを作成するでしょう:

つまり、www.domain.comとdomain.comが同じルートに移動することを選択できるハンドラーであり、www.domain.comまたは.domain.comのどちらかをメインのリダイレクトとして選択します:)それが理にかなっていることを願っています。

0
Ian Warner

リダイレクトするのが1つの特定のドメイン/サブドメイン(または適度に少数のドメイン)である場合は、個別の仮想ホストは必要ありません(ただし、必要に応じてそのルートを使用できます)。 _domain.com_のようなネイキッドドメインをチェロキーv0.99.39のwwwサブドメイン(_www.domain.com_)にリダイレクトする手順は次のとおりです。

  1. Cherokee-adminページ( http://127.0.0.1:9090/ )で、左側のナビゲーションの_Virtual Servers_リンクをクリックしてから、のNicknameをクリックします。リダイレクト元の仮想サーバー。あなたはおそらくこの仮想サーバーを_domain.com_と呼んでいます(またはその_Host Match_セクションに_*domain.com_のエントリがあります);または、default仮想サーバーの場合もあります。
  2. Behaviorタブをクリックします。
  3. _Add new rule_ボタンをクリックします。
  4. _Rule Type_にHeaderを選択します。
  5. HostHeaderを選択します。
  6. _^domain.com_に_Regular Expression_と入力します(Tabキーを押して次の画面に進みます)。このシナリオでは、リダイレクト元のドメインの前に_^_を追加して、サブドメインではなく、ネイキッドドメインのみを照合します。
  7. Handlerタブをクリックします。
  8. RedirectionHandlerを選択します。
  9. _Regular Expression_に/(.*)と入力します。
  10. _http://www.domain.com/$1_を入力します(UIが変更を処理できるようにもう一度Tabキーを押します)。 _$1_は、ステップ9の正規表現からの最初のキャプチャグループのコンテンツを配置する場所を示します。
  11. 左ナビゲーションのSaveボタンをクリックします。
  12. やってみて! (_http://domain.com/_に移動し、301で_http://www.domain.com/_にリダイレクトされていることを確認します。)
5
Justin Ludwig

チェロキーのWebインターフェイスにこのためのテンプレートがあります(少なくとも1.0.8では):

  1. 上部のナビゲーションでvServersをクリックします
  2. Newボタンを押します
  3. Tasksの下でVirtual Server Redirectionを選択します
  4. ウィザードを開始します
  5. example.comOrigin Domainを入力します
  6. www.example.comTarget Domainを入力します
  7. Createボタンを押します

複数のドメインをTarget Domainにリダイレクトすることもできます。

  1. リダイレクト仮想サーバーを編集します(ドキュメントルートが/dev/nullである必要があります)
  2. Host Matchタブに移動します
  3. MethodWildcardsに設定する必要があります(代わりにRegular Expressionsを選択できます)
  4. Add Newボタンを押して、ドメイン名を追加します
3
deizel

修正は間もなくリリースされる可能性が高いです: http://bugs.cherokee-project.com/722

1
Alvaro