2011-07-26 2 views

答えて

0

あなたは場所を持つ2つの方法でこれを行うことができます:

# the ?<u> assigns the capture to $u. Some older pcres need ?P<u> 
location ^/read/(?<u>[0-9]+)/?$ { 
    rewrite^/read/?u=$u last; 
} 

か、単に書き換えと:

rewrite ^/read/([0-9]+)/?$ /read/?u=$1 last; 

nginxのは、デフォルトでは、クエリ文字列を追加します(あなたが動作を無効にすることができます書き換え対象の最後に?を追加することによって)。

+0

私は 書き換え^ /読み取り/([0-9] +)/?$ /読み取り/?u = $ 1で必要な動作を得ることができました。私の次の質問は、旗を最後か恒久的に使うべきかどうかです。 SEOの方が良いでしょう –

+0

永久的なフラグはクライアントに301リダイレクトを送り、/ read /?u = $ 1自体を取得するように指示します。 lastを使用すると内部リダイレクトが実行され、クライアントのアドレスバーには/ read/123が表示されます。 – kolbyjack

+0

ありがとう..私はあなたの助けに感謝します –

0

次試してみる:

rewrite ^read/([0-9]+)/$ /read/?u=$1 permanent; 

IfIsEvilを - ので、直接書き換えオプションを。

関連する問題