nginxの書き換えルール

私は、 nginx のリライト規則を実装しようとしています。 - リクエスト /testfa/styles/style.css は、 /testfa/templates/styles/style.css にリダイレクトする必要があります。 ルールに従って作成された私のサーバの書き換えログを有効にしました:

location /testfa {     
  rewrite ^/styles/(.+)?$ /testfa/templates/styles/$1 last;
}

しかし、私は要求を実行しようとしているときに、私はサーバーから404エラーを取得しています、そして、ログファイルは、次のメッセージだけを書き換えについての情報を含んでいません:

open() "......../testfa/styles/style.css" failed (2: No such file or directory)

nginx にそのような書き換えを実行する正しい方法は何ですか?

4

1 答え

location /testfa/ {
    rewrite ^/testfa/styles/(.+)$ /testfa/templates/styles/$1 last;
}

これはあなたのために働くのですか?

my tested virtual >

server {
    listen          ...ip...:80;
    server_name     sub.domain.com;
    root            /usr/local/www/test;
    error_log       /usr/local/www/test/error_debug.log debug;

    rewrite_log     on;

    location /testfa/ {
        rewrite ^/testfa/styles/(.+)$ /testfa/templates/styles/$1 last;
    }
}

これは機能します。ログでさえ報告されている:

2011/11/25 01:06:52 [notice] 35208#0: *456705 rewritten data: "/testfa/templates/styles/test.css", args: "", client: IP, server: sub.domain.com, request: "GET /testfa/styles/test.css HTTP/1.1", host: "sub.domain.com"
2
追加された
私は自分自身のnginxサーバーでそれを試して、それは動作します。すべての仮想ホストのルールを貼り付けることができますか?
追加された 著者 Glavić,
インクルードファイルの絶対パスを試すことはできますか?
追加された 著者 Glavić,
私は上記の私の答え、より良いプレビューを更新しました。それは動作し、私のnginx 1.0.8でそれをテスト
追加された 著者 Glavić,
何が間違っていた? ;-)
追加された 著者 Glavić,
hehe、それは起こる。 configの再ロードのために再起動する必要はありません。 "reload"属性を使用し、前に "configtest"を使用します;-)
追加された 著者 Glavić,
debug ではなく、 error_log notice; はrewrite文を出力し、50-70行のほとんど無関係な低レベルのデバッグ情報(例えばSSLとgzipの詳細) 。
追加された 著者 Dan Dascalescu,
いいえ、まだ運がない - 同じ "No such file or directory"がログにあり、ログに書き換え情報はありません。
追加された 著者 Dmitry Velichko,
メイン設定: server {listen 80; index index.php index.html; server_name dev.example.com; root /var/www/www.example.com/www_dev; error_log /var/log/nginx/www.example.com.dev.log debug; rewrite_log on; conf.d/dev_rules.incを含めます。 location/testfa/{rewrite ^/testfa/styles /(.+)$/testfa/templates/styles/$ 1 last; }
追加された 著者 Dmitry Velichko,
tryed、それと同じ
追加された 著者 Dmitry Velichko,
ありがとう、それは動作します
追加された 著者 Dmitry Velichko,
私の脳:) - 再起動しませんでした。
追加された 著者 Dmitry Velichko,
configtestはリロードを忘れましたか?
追加された 著者 Dmitry Velichko,