2016-09-18 9 views
0

/search/i-love-baconを/ resultsとするには?search_query = I + love + baconNginxで書き直して、結果の車を交換してください。

実際に私がapproxymative結果を得ることができます。

rewrite "^/search/(\w*)\-(\w*)" "/results?search_query=$1+$2" permanent; 

しかし、私は私がエントリで持つことができますどのように多くの用語がわからない、それが1または10にすることができ、ここでは実際に私は2項を取得します。

は、これらのケースで作品を持っている:あなたが再帰的に/results/searchを書き換える前に+-を書き換えることができ

/search/mom       to /results?search_query=mom 
/search/my-grandpa-is-old   to /results?search_query=my+grandpa+is+old 
/search/green-grass     to /results?search_query=green+grass 
/search/birds-and-elephants-can-swim to /results?search_query=birds+and+elephants+can+swim 

答えて

0

。再帰的書き換えは内部的なものである可能性があります。

location/{ 
    rewrite ^/search/(.*)-(.*)$ /search/$1+$2 last; 
    rewrite ^/search/(.*)$ /results?search_query=$1 permanent; 
    ... 
} 

再帰書き換えが位置ブロック内にする必要がある(それが内部である場合、すなわちlastを使用します)。 location /またはlocation /searchとなります。

詳細はthis documentを参照してください。

関連する問題