0

次の簡単なlighttpd書き換えルールがあります。

$HTTP["host"] =~ "^(app\.mydomain\.com)$" {
    url.rewrite-once = (
            "^[^.]*$" => "controller.php/$1"
    )
}

このルールを次のように移植しようとしnginxています。

server {
  listen 80;

  server_name app.mydomain.com;

  if ($host = 'app.mydomain.com') {
    rewrite ^[^.]*$ controller.php/$1 last;
  }

  root /srv/www/domains/app.mydomain.com;

  index index.php;

  access_log /var/log/nginx/domains/app.mydomain.com/access.log;
  error_log /var/log/nginx/domains/app.mydomain.com/error.log;

  include /etc/nginx/excludes.conf;
  include /etc/nginx/php.conf;
  include /etc/nginx/expires.conf;
}

問題は、nginx の書き換えルールが正しく機能していないことですか? 私が間違っていることは何ですか?ありがとう。

4

1 に答える 1

0

の前にスラッシュが必要controller.phpです。とにかく仮想ホストのサーバー名であるため、書き換えの周りの if ブロックはおそらく必要ありません。

rewrite ^[^.]*$ /controller.php/$1 last;
于 2012-07-24T02:34:47.260 に答える