0

背景:

我想在运行 nginx 的 Ubuntu 服务器上设置Bugify 。我按照说明安装了依赖项,安装成功。一旦我输入我的许可证密钥并单击“安装 Bugify”,它就会重定向到http://dev.mysite.com/login?new,我看到的唯一内容是404 Not Found.

我知道 nginx 不受官方支持,但根据支持论坛,应该可以运行它。

问题:

在 webapp 的公共目录中有一个.htaccess包含重写规则的文件,我猜导致 404 错误的问题是 nginx 无法使用该.htaccess文件,所以我必须将重写规则转换为 nginx 语法。

我不太熟悉 apache 的重写规则,所以我需要一些帮助来解决这个问题。

.htaccess 文件的内容是:

# Rewriting
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

我正在使用这个工具来转换规则,但它在使用-标志时遇到了一些问题。

#ignored: "-" thing used or unknown variable in regex/rew

提前致谢!

4

1 回答 1

1

Bugify 使用 Zend 框架,因此 ZF 的重写规则也适用于 Bugify。我已经从http://wiki.nginx.org/Zend_Framework复制了下面建议的 nginx 配置

server {
  listen 80;
  server_name www.example.com;
  root /var/www/www.example.com/myapplication;
  index  index.html index.htm index.php;

  location / {
    # This is cool because no php is touched for static content
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
    fastcgi_pass      unix:/usr/local/zend/tmp/php-fastcgi.socket;
    fastcgi_index    index.php;
    fastcgi_param   SCRIPT_FILENAME /var/www/www.example.com/myapplication$fastcgi_script_name;
    include               fastcgi_params;
  }
}
于 2013-01-06T18:39:16.527 回答