次の URL を書き換えようとしています。
example.com/[name1]/[name2]
に:
example.com/[name2].htm?id=[name1]
私はこの書き換えルールを試しています:
rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;
しかし、それは機能しているようです。誰かが私を助けることができますか?ありがとうございました!
次の URL を書き換えようとしています。
example.com/[name1]/[name2]
に:
example.com/[name2].htm?id=[name1]
私はこの書き換えルールを試しています:
rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;
しかし、それは機能しているようです。誰かが私を助けることができますか?ありがとうございました!
リライトで .htm を忘れた
正規表現が想定しているように、 name1 は常にすべての数字で構成されているのは正しいですか?
更新しました:
location ~ ^/([A-Za-z0-9]+)/(.+)/$ {
rewrite ^/([A-Za-z0-9]+)/(.+)/ /$2.htm?id=$1 last;
}
基本的に、ここで行っていることは次のとおりです。
(注: 正規表現を繰り返す必要があるのは、rewrite ディレクティブが $1 および $2 後方参照の内容をリセットするためです。何か他のことを行う場合は、ロケーション ブロック内でそれらを直接使用することができます)