背景
我想在运行nginx的Ubuntu Server上设置Bugify。我按照说明操作,安装了依赖项,安装成功。输入许可证密钥并单击“安装Bugify”后,它会重定向到http://dev.mysite.com/login?new,我唯一看到的是404 Not Found
。
我知道nginx不受官方支持,但根据support forum,应该可以运行它。
问题:
在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]
我使用this tool来转换规则,但是-
标志遇到了一些麻烦。
#ignored: "-" thing used or unknown variable in regex/rew
提前致谢!
答案 0 :(得分:1)
Bugify使用Zend Framework,因此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;
}
}