web-dev-qa-db-ja.com

Nginxで単一のURLをリダイレクトする-動作しない

Nginxを使用して、いくつかの単一のURLを新しい場所にリダイレクトしようとしています。 URLはBloggerからのもので、形式はhttp://domain.com/yyyy/mm/slugです。

たとえば、私はこれを持っています:http://example.com/2013/04/chartjs-javascript-library-for-easy.html

私はこのNginxの書き換えを使用してリダイレクトしていますが、何らかの理由で機能しません:

server {
     location ~ /([2012-2013]+)/.*/chartjs-javascript-library-for-easy.html {
                return 301 http://$server_name/resource/chart-js;
     }
}

/etc/nginx/conf.d/example.conf内にロードされる/etc/nginx/nginx.confに配置します

なぜ機能しないのか誰にも教えてもらえますか?いつかは機能していました。正規表現を台無しにしていますか?

編集:

何らかの理由で、場所/testは正常にリダイレクトしますが、場所/test/htmlはリダイレクトしません。理由は何ですか?

1
Hirvesh

[2012-2013]は、あなたが思っていることを意味しないことに注意してください:) []は、数字クラスではなく、characterクラスです:)

location ~ ^/201[23]/.*/chartjs-javascript-library-for-easy.htmlを試してください

1
Collin Grady