301 重定向的切诺基规则

Ian*_*ner 1 cherokee

我正在从 Apache 迁移到 Cherokee 进行一些试验

我想在切诺基中执行我为 Apache 所做的重定向:

# 重定向到 WWW 规范名称 RewriteEngine On RewriteCond %{HTTP_HOST} !=www.domain.com RewriteRule ^ http://www.domain.com% {REQUEST_URI} [R=301,L]

但找不到任何关于如何做到这一点的解释

任何帮助表示赞赏

小智 5

如果您只想重定向一个特定的域/子域(或数量相当少的域),则不需要单独的虚拟主机(尽管您可以根据需要选择该路由)。以下是将裸域(如cherokee v0.99.39)重定向domain.com到其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. 选择HeaderRule Type
  5. 选择HostHeader
  6. 输入^domain.comRegular Expression(然后按Tab键继续到下一个屏幕)。在这种情况下,我们添加^到要重定向的域的前面,因此我们只匹配裸域,而不匹配任何子域。
  7. 单击Handler选项卡。
  8. 选择RedirectionHandler
  9. 输入/(.*)Regular Expression
  10. 输入http://www.domain.com/$1(再次按 Tab 键以允许 ui 处理您的更改)。的$1指示,其中将第一个捕获组的从步骤9的正则表达式的内容。
  11. 单击Save左侧导航按钮。
  12. 试试看!(导航到http://domain.com/并验证您是否http://www.domain.com/使用 301重定向到。)