0

こんにちは、このルールを apache から nginx に reqrite するために助けが必要です。一日中試してみましたが、何もしませんでした:

Apache: ^pimage/small-([^/.]+)-([^/.]+).jpg$ /img_on_fly.php?iname=$1&iuid=$2&isize=小さい

すべてのオンラインコンバーターで試し、オンラインで見つけたものすべてを試しましたが、何も試しませんでした。nginx未経験ですが他15ルールを1つずつ書き直しましたがどれもこれより簡単だったので誰かできれば。また、nginx conf のこのルールの「場所」が何であるかわかりませんか?

4

2 に答える 2

1

conf ファイルの server 要素で次のことを試してください。

location ~ ^\/pimage\/small\-(?<iname>[^\/\.]+)\-(?<iuid>[^\/\.]+)\.jpg$ {
    try_files $uri /img_on_fly.php?iname=$iname&iuid=$iuid&isize=small
}

conf ファイルは次のようになります。

server {
    ...
    ...
    ...
}

あなたはちょうどそれを変更することができます

server {
    ...
    ...
    ...

    location ~ ^\/pimage\/small\-(?<iname>[^\/\.]+)\-(?<iuid>[^\/\.]+)\.jpg$ {
        try_files $uri /img_on_fly.php?iname=$iname&iuid=$iuid&isize=small
    }
}
于 2012-09-19T18:18:40.923 に答える
0

次のように、ドットをエスケープするのはどうでしょうか。

rewrite ^pimage/small-([^/\.]+)-([^/\.]+).jpg$ /img_on_fly.php?iname=$1&iuid=$2&isize=small;

試してみて、コメントを返します。

更新:次
のように、ダッシュもエスケープしてみてください:

rewrite ^pimage/small\-([^/\.]+)\-([^/\.]+).jpg$ /img_on_fly.php?iname=$1&iuid=$2&isize=small;

それを試した後、「ドットをエスケープせず、ダッシュをエスケープする」というバリエーションも試してみてください。

于 2012-09-19T18:22:05.943 に答える