如何将 Apache 重写规则移植到 cherokee?

如何将 Apache 重写规则移植到 cherokee?

我对 Cherokee 还很陌生,它很棒,而且除了 URL 重写之外相当简单。有没有简单的指南?告诉我。

另外我该如何移植这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

谢谢

答案1

假设您使用默认服务器并且已经设置了 PHP FastCGI 处理程序:

  1. 转至虚拟服务器。
  2. 选择您的服务器。
  3. 点击“行为”标签
  4. 编辑“默认”规则。
  5. 将其“处理程序”更改为“重定向”
  6. 界面会发生变化。现在填写字段:
    • 类型:内部 = 服务器端,外部 = 客户端
    • 正则表达式:^(.*)$
    • 替换:/index.php?q=$1
  7. 您所有的其他 URL 重写都应添加在那里。

这应该适合您的规则。

注意:行为规则顺序很重要,因此……将您的 PHP 处理程序放在顶部并将其设置为非最终版本。对于 CSS 或图像等静态内容,您应该创建新规则(类型:目录,处理程序:静态内容)。

希望这对你有帮助。再见!

pd:如果您需要,我可以制作一些屏幕。

答案2

您只需要为虚拟主机堆叠几个处理程序。

首先你需要静态内容或者列表并发送处理程序来模仿RewriteCond后面跟着的语句重定向处理程序来模仿实际的RewriteRule语句。

然而,旗帜可能存在问题QSA……

相关内容