Skip to content

Commit

Permalink
chore(SEO): add redirections from old URL to new URL
Browse files Browse the repository at this point in the history
  • Loading branch information
macrat committed Jan 16, 2024
1 parent e5b4100 commit 1e7fd52
Showing 1 changed file with 146 additions and 1 deletion.
147 changes: 146 additions & 1 deletion vercel.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,149 @@
{
"outputDirectory": "dist",
"trailingSlash": false
"trailingSlash": false,
"redirects": [
{"source": "/about.html", "destination": "/about"},
{"source": "/blog/(20[0-9]{2})/(1[0-2]|0[0-9])/(.+)\\.html", "destination": "/blog/$1/$2/$3"},
{"source": "/blog/(20[0-9]{2})/(1[0-2]|0[0-9])/(.+)\\.amp", "destination": "/blog/$1/$2/$3"},
{"source": "/blog/1212061454.html", "destination": "/blog/2012/12/test-a"},
{"source": "/blog/1212061455.html", "destination": "/blog/2012/12/test-b"},
{"source": "/blog/1212061528.html", "destination": "/blog/2012/12/test-c"},
{"source": "/blog/1212061545.html", "destination": "/blog/2012/12/test-d"},
{"source": "/blog/1212061548.html", "destination": "/blog/2012/12/test-e"},
{"source": "/blog/1212061553.html", "destination": "/blog/2012/12/test-f"},
{"source": "/blog/1212061628.html", "destination": "/blog/2012/12/test-g"},
{"source": "/blog/1212061633.html", "destination": "/blog/2012/12/test-h"},
{"source": "/blog/1212061641.html", "destination": "/blog/2012/12/test-i"},
{"source": "/blog/1212061653.html", "destination": "/blog/2012/12/test-j"},
{"source": "/blog/1212062127.html", "destination": "/blog/2012/12/test-k"},
{"source": "/blog/1212062143.html", "destination": "/blog/2012/12/test-l"},
{"source": "/blog/1212062153.html", "destination": "/blog/2012/12/test-m"},
{"source": "/blog/1212081657.html", "destination": "/blog/2012/12/test-n"},
{"source": "/blog/1212081723.html", "destination": "/blog/2012/12/test-o"},
{"source": "/blog/1212081804.html", "destination": "/blog/2012/12/test-p"},
{"source": "/blog/1212082248.html", "destination": "/blog/2012/12/test-q"},
{"source": "/blog/1212082314.html", "destination": "/blog/2012/12/test-r"},
{"source": "/blog/1212090005.html", "destination": "/blog/2012/12/test-s"},
{"source": "/blog/1212152224.html", "destination": "/blog/2012/12/test-t"},
{"source": "/blog/1212152319.html", "destination": "/blog/2012/12/test-u"},
{"source": "/blog/1212171722.html", "destination": "/blog/2012/12/test-v"},
{"source": "/blog/1212171757.html", "destination": "/blog/2012/12/test-w"},
{"source": "/blog/1212242207.html", "destination": "/blog/2012/12/test-x"},
{"source": "/blog/1212302047.html", "destination": "/blog/2012/12/star-updated"},
{"source": "/blog/1301010000.html", "destination": "/blog/2013/01/new-year"},
{"source": "/blog/1301021816.html", "destination": "/blog/2013/01/python-thread-kill"},
{"source": "/blog/1301030114.html", "destination": "/blog/2013/01/kill-parent-in-c-lang"},
{"source": "/blog/1301041851.html", "destination": "/blog/2013/01/toppage-desgin-change"},
{"source": "/blog/1301042053.html", "destination": "/blog/2013/01/kill-parent-in-python"},
{"source": "/blog/1301060215.html", "destination": "/blog/2013/01/cyrillic"},
{"source": "/blog/1301080247.html", "destination": "/blog/2013/01/python-usage"},
{"source": "/blog/1301100224.html", "destination": "/blog/2013/01/site-search"},
{"source": "/blog/1301102154.html", "destination": "/blog/2013/01/python-cgi-cant-import"},
{"source": "/blog/1301110410.html", "destination": "/blog/2013/01/support-feed"},
{"source": "/blog/1301112235.html", "destination": "/blog/2013/01/support-social"},
{"source": "/blog/1301170048.html", "destination": "/blog/2013/01/python-progressbar"},
{"source": "/blog/1301221739.html", "destination": "/blog/2013/01/gentoo-bootchart2"},
{"source": "/blog/1301240251.html", "destination": "/blog/2013/01/learning-dmenu"},
{"source": "/blog/1301262337.html", "destination": "/blog/2013/01/python-yahoo-api"},
{"source": "/blog/1301270139.html", "destination": "/blog/2013/01/gentoo-config_devtmpfs"},
{"source": "/blog/1301301328.html", "destination": "/blog/2013/01/use-c-library-by-python"},
{"source": "/blog/1302050247.html", "destination": "/blog/2013/02/gentoo-access_violation_summary"},
{"source": "/blog/1302070356.html", "destination": "/blog/2013/02/anti-virus-soft-mse"},
{"source": "/blog/1302152110.html", "destination": "/blog/2013/02/c-lang-for_i_in"},
{"source": "/blog/1302160201.html", "destination": "/blog/2013/02/usage-sqlite3"},
{"source": "/blog/1302182055.html", "destination": "/blog/2013/02/gentoo-slim"},
{"source": "/blog/1302251950.html", "destination": "/blog/2013/02/use-tor-windows"},
{"source": "/blog/1302271933.html", "destination": "/blog/2013/02/use-tor-gentoo"},
{"source": "/blog/1302272226.html", "destination": "/blog/2013/02/startx-timeout_in_locking"},
{"source": "/blog/1302282101.html", "destination": "/blog/2013/02/use-tor-python"},
{"source": "/blog/1303070041.html", "destination": "/blog/2013/03/dirty-python"},
{"source": "/blog/1303150214.html", "destination": "/blog/2013/03/scheme-circle-ratio"},
{"source": "/blog/1303220147.html", "destination": "/blog/2013/03/python-inotify"},
{"source": "/blog/1303270114.html", "destination": "/blog/2013/03/gentoo-ntp"},
{"source": "/blog/1303272102.html", "destination": "/blog/2013/03/apache-url-normalization"},
{"source": "/blog/1303310215.html", "destination": "/blog/2013/03/flask-content_range"},
{"source": "/blog/1304032311.html", "destination": "/blog/2013/04/python-woosh"},
{"source": "/blog/1304102205.html", "destination": "/blog/2013/04/ethernet-header"},
{"source": "/blog/1304130057.html", "destination": "/blog/2013/04/structure-in-memory"},
{"source": "/blog/1304161426.html", "destination": "/blog/2013/04/python-decorator"},
{"source": "/blog/1304191638.html", "destination": "/blog/2013/04/unicode-usc-utf"},
{"source": "/blog/1304250055.html", "destination": "/blog/2013/04/search-in-site"},
{"source": "/blog/1304251733.html", "destination": "/blog/2013/04/scheme-tcp"},
{"source": "/blog/1304261755.html", "destination": "/blog/2013/04/python-crypto-aes"},
{"source": "/blog/1304280048.html", "destination": "/blog/2013/04/next-star"},
{"source": "/blog/1304280225.html", "destination": "/blog/2013/04/what-is-uint16"},
{"source": "/blog/1304300158.html", "destination": "/blog/2013/04/what-is-genetic-algorithm"},
{"source": "/blog/1305010105.html", "destination": "/blog/2013/05/python-pyevolve"},
{"source": "/blog/1305021319.html", "destination": "/blog/2013/05/python-dbm"},
{"source": "/blog/1305030209.html", "destination": "/blog/2013/05/python-conditional-operator"},
{"source": "/blog/1305040319.html", "destination": "/blog/2013/05/python-character-reference"},
{"source": "/blog/1305072348.html", "destination": "/blog/2013/05/use-python-by-c-lang"},
{"source": "/blog/1305171351.html", "destination": "/blog/2013/05/python-import-from-web"},
{"source": "/blog/1305171431.html", "destination": "/blog/2013/05/python-template"},
{"source": "/blog/1305232159.html", "destination": "/blog/2013/05/python-doctest"},
{"source": "/blog/1306022226.html", "destination": "/blog/2013/06/python-set-variable-in-lambda"},
{"source": "/blog/1306052350.html", "destination": "/blog/2013/06/rfid"},
{"source": "/blog/1306062142.html", "destination": "/blog/2013/06/mecab-misunderstand-symbol"},
{"source": "/blog/1306070103.html", "destination": "/blog/2013/06/new-function-keywords"},
{"source": "/blog/1306081916.html", "destination": "/blog/2013/06/python-tail-recurusion"},
{"source": "/blog/1306092149.html", "destination": "/blog/2013/06/the-best-security-soft"},
{"source": "/blog/1306172023.html", "destination": "/blog/2013/06/python-generator-like-list-comprehension"},
{"source": "/blog/1306241733.html", "destination": "/blog/2013/06/python-different-equal-and-is"},
{"source": "/blog/1307090215.html", "destination": "/blog/2013/07/zfs-deduplication"},
{"source": "/blog/1307110142.html", "destination": "/blog/2013/07/zfs-data-compress"},
{"source": "/blog/1307211202.html", "destination": "/blog/2013/07/different-of-cat5-and-cat6"},
{"source": "/blog/1307302249.html", "destination": "/blog/2013/07/python-max-min"},
{"source": "/blog/1308080254.html", "destination": "/blog/2013/08/new-function-syntax-hilight"},
{"source": "/blog/1308082352.html", "destination": "/blog/2013/08/script-of-what-is-language"},
{"source": "/blog/1308230101.html", "destination": "/blog/2013/08/ethernet-header-for-python"},
{"source": "/blog/1308262312.html", "destination": "/blog/2013/08/python-beep"},
{"source": "/blog/1308312306.html", "destination": "/blog/2013/08/python-class-bool"},
{"source": "/blog/1309032047.html", "destination": "/blog/2013/09/windows-pil-importerror"},
{"source": "/blog/1309042054.html", "destination": "/blog/2013/09/c-language-beep"},
{"source": "/blog/1309060109.html", "destination": "/blog/2013/09/python-list-comprehension"},
{"source": "/blog/1309060217.html", "destination": "/blog/2013/09/shellscript-epoch-time"},
{"source": "/blog/1309150042.html", "destination": "/blog/2013/09/python-try-why-can-catch-child-classes"},
{"source": "/blog/1309220039.html", "destination": "/blog/2013/09/python-xml-rpc"},
{"source": "/blog/1309240015.html", "destination": "/blog/2013/09/wallpaper-for-my-friend"},
{"source": "/blog/1310012317.html", "destination": "/blog/2013/10/what-is-http-connect-request"},
{"source": "/blog/1310071618.html", "destination": "/blog/2013/10/python-check-is-string"},
{"source": "/blog/1310082152.html", "destination": "/blog/2013/10/python-sequence-methods"},
{"source": "/blog/1310162157.html", "destination": "/blog/2013/10/python-modular-exponentiation"},
{"source": "/blog/1310230027.html", "destination": "/blog/2013/10/http-request-www-google-com-tw"},
{"source": "/blog/1310232347.html", "destination": "/blog/2013/10/make-mailserver-with-python"},
{"source": "/blog/1310241744.html", "destination": "/blog/2013/10/python-ascii-or-iso2022"},
{"source": "/blog/1311062232.html", "destination": "/blog/2013/11/ipad-background-attachment"},
{"source": "/blog/1311082201.html", "destination": "/blog/2013/11/python-exif-with-pil"},
{"source": "/blog/1311112222.html", "destination": "/blog/2013/11/shellscript-csv"},
{"source": "/blog/1311142032.html", "destination": "/blog/2013/11/awesome-with-mouse"},
{"source": "/blog/1311260307.html", "destination": "/blog/2013/11/usage-rcs"},
{"source": "/blog/1312252257.html", "destination": "/blog/2013/12/apache-domain-change"},
{"source": "/blog/1401010000.html", "destination": "/blog/2014/01/new-year"},
{"source": "/blog/1401031947.html", "destination": "/blog/2014/01/apache-path-last-slash"},
{"source": "/blog/1401100000.html", "destination": "/blog/2014/01/apache-force-ssl"},
{"source": "/blog/1401102358.html", "destination": "/blog/2014/01/tkinter-remove-lavel-image"},
{"source": "/blog/1401150158.html", "destination": "/blog/2014/01/pil-encoder_error_-2"},
{"source": "/blog/1401190136.html", "destination": "/blog/2014/01/python-roman-numeral"},
{"source": "/blog/1402032256.html", "destination": "/blog/2014/02/pil-make-thumbnail"},
{"source": "/blog/1402050156.html", "destination": "/blog/2014/02/python-pyexiv2"},
{"source": "/blog/1402080008.html", "destination": "/blog/2014/02/pyexiv2-transplant-to-gentoo"},
{"source": "/blog/1402110316.html", "destination": "/blog/2014/02/apache-directory-slash"},
{"source": "/blog/1402111811.html", "destination": "/blog/2014/02/jinja2-macro"},
{"source": "/blog/1402132136.html", "destination": "/blog/2014/02/usage-vimdiff"},
{"source": "/blog/1402182219.html", "destination": "/blog/2014/02/mdadm-raid5"},
{"source": "/blog/1402242058.html", "destination": "/blog/2014/02/apache-deny-by-ua"},
{"source": "/blog/1402281635.html", "destination": "/blog/2014/02/atag-google-plus-link"},
{"source": "/blog/1403010037.html", "destination": "/blog/2014/03/atag-hatena-bookmark-link"},
{"source": "/blog/1403012325.html", "destination": "/blog/2014/03/google-plus-do-email-address-leakage"},
{"source": "/blog/1403020127.html", "destination": "/blog/2014/03/what-is-the-sahen"},
{"source": "/blog/1403022122.html", "destination": "/blog/2014/03/google-plus-do-email-address-leakage-sequel"},
{"source": "/blog/1403032118.html", "destination": "/blog/2014/03/python-max-min"},
{"source": "/blog/1403062312.html", "destination": "/blog/2014/03/nginx-erropage"},
{"source": "/blog/1403070045.html", "destination": "/blog/2014/03/uwsgi-python-unrecognized-option"},
{"source": "/blog/1403120057.html", "destination": "/blog/2014/03/python-getattr-getattribute"},
{"source": "/blog/1403122341.html", "destination": "/blog/2014/03/python-setattr"},
{"source": "/blog/1403131840.html", "destination": "/blog/2014/03/python-timeit"},
{"source": "/blog/1403170107.html", "destination": "/blog/2014/03/python3-lru_cache"},
{"source": "/blog/2015/11/java-charactor-count", "destination": "/blog/2015/11/java-character-count"}
]
}

0 comments on commit 1e7fd52

Please sign in to comment.