0

バックグラウンド:

nginx を実行している Ubuntu サーバーでBugifyをセットアップしたいと考えています。指示に従い、依存関係をインストールすると、インストールは成功しました。ライセンス キーを入力して [Install 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 Framework を使用するため、ZF の書き換えルールは Bugify でも機能するはずです。以下の提案されたnginx構成をhttp://wiki.nginx.org/Zend_Frameworkからコピーしました

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 に答える