【问题标题】:Nginx Error: unknown directive rewriteNginx 错误:未知指令重写
【发布时间】:2011-12-12 14:30:39
【问题描述】:

我的 nginx.conf 中有一个重写:

server {
  server_name example.com;
  rewrite ^/(.*) http://www.example.com/$1 permanent;
}

但是返回这个错误:unknown directive "rewrite".

PS:我已经为乘客安装了 nginx。

你能帮帮我吗?

【问题讨论】:

    标签: linux mod-rewrite nginx passenger


    【解决方案1】:

    检查 nginx -V 的输出。如果您看到选项 --without-http_rewrite_module,那么您可能在构建 nginx 时没有安装 pcre 开发包,因此它禁用了重写模块。如果是这种情况,您需要安装 pcre devel 包(如何安装取决于您的发行版)并重建 nginx。

    【讨论】:

    • 是的,我有这行):我没有太多经验,你知道任何用passenger重新编译nginx的教程吗?
    • 我不特别关心乘客,我建议将 nginx 与您的应用程序服务器分开。它被设计成一个小型、快速的反向代理。设置 unicorn/thin/mongrel/whatever 来运行您的 ruby​​ 代码并从 nginx 向它传递 proxy_passing 允许您使用发行版中的预构建包,其中将包含 rewrite 模块,您将更有可能在没有第三方模块的 irc 频道。
    • 好的,我会重新安装Nginx和Passenger!谢谢!
    • 要在 Ubuntu 上安装 pcre devel 包,发出:apt-get install libpcre3-dev
    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2017-07-28
    • 2020-04-09
    相关资源
    最近更新 更多