Skip to content

Commit 8c0f399

Browse files
committed
Set up redirects from the other side
1 parent 6523c2c commit 8c0f399

File tree

1 file changed

+205
-18
lines changed

1 file changed

+205
-18
lines changed

vercel.json

Lines changed: 205 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,196 @@
44
},
55
"trailingSlash": false,
66
"redirects": [
7+
{
8+
"source": "/",
9+
"has": [
10+
{
11+
"type": "host",
12+
"value": "reactjs.org"
13+
}
14+
],
15+
"destination": "https://react.dev",
16+
"permanent": true
17+
},
18+
{
19+
"source": "/docs/add-react-to-a-website.html",
20+
"has": [
21+
{
22+
"type": "host",
23+
"value": "reactjs.org"
24+
}
25+
],
26+
"destination": "https://react.dev/learn/add-react-to-an-existing-project",
27+
"permanent": true
28+
},
29+
{
30+
"source": "/docs/create-a-new-react-app.html",
31+
"has": [
32+
{
33+
"type": "host",
34+
"value": "reactjs.org"
35+
}
36+
],
37+
"destination": "https://react.dev/learn/start-a-new-react-project",
38+
"permanent": true
39+
},
40+
{
41+
"source": "/docs/release-channels.html",
42+
"has": [
43+
{
44+
"type": "host",
45+
"value": "reactjs.org"
46+
}
47+
],
48+
"destination": "https://react.dev/community/versioning-policy",
49+
"permanent": true
50+
},
51+
{
52+
"source": "/docs/thinking-in-react.html",
53+
"has": [
54+
{
55+
"type": "host",
56+
"value": "reactjs.org"
57+
}
58+
],
59+
"destination": "https://react.dev/learn/thinking-in-react",
60+
"permanent": true
61+
},
62+
{
63+
"source": "/tutorial/tutorial.html",
64+
"has": [
65+
{
66+
"type": "host",
67+
"value": "reactjs.org"
68+
}
69+
],
70+
"destination": "https://react.dev/learn/tutorial-tic-tac-toe",
71+
"permanent": true
72+
},
73+
{
74+
"source": "/community/support.html",
75+
"has": [
76+
{
77+
"type": "host",
78+
"value": "reactjs.org"
79+
}
80+
],
81+
"destination": "https://react.dev/community",
82+
"permanent": true
83+
},
84+
{
85+
"source": "/community/conferences.html",
86+
"has": [
87+
{
88+
"type": "host",
89+
"value": "reactjs.org"
90+
}
91+
],
92+
"destination": "https://react.dev/community/conferences",
93+
"permanent": true
94+
},
95+
{
96+
"source": "/community/meetups.html",
97+
"has": [
98+
{
99+
"type": "host",
100+
"value": "reactjs.org"
101+
}
102+
],
103+
"destination": "https://react.dev/community/meetups",
104+
"permanent": true
105+
},
106+
{
107+
"source": "/community/team.html",
108+
"has": [
109+
{
110+
"type": "host",
111+
"value": "reactjs.org"
112+
}
113+
],
114+
"destination": "https://react.dev/community/team",
115+
"permanent": true
116+
},
117+
{
118+
"source": "/community/videos.html",
119+
"has": [
120+
{
121+
"type": "host",
122+
"value": "reactjs.org"
123+
}
124+
],
125+
"destination": "https://react.dev/community/videos",
126+
"permanent": true
127+
},
128+
{
129+
"source": "/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html",
130+
"has": [
131+
{
132+
"type": "host",
133+
"value": "reactjs.org"
134+
}
135+
],
136+
"destination": "https://react.dev/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022",
137+
"permanent": true
138+
},
139+
{
140+
"source": "/blog/2022/03/29/react-v18.html",
141+
"has": [
142+
{
143+
"type": "host",
144+
"value": "reactjs.org"
145+
}
146+
],
147+
"destination": "https://react.dev/blog/2022/03/29/react-v18",
148+
"permanent": true
149+
},
150+
{
151+
"source": "/blog/2022/03/08/react-18-upgrade-guide.html",
152+
"has": [
153+
{
154+
"type": "host",
155+
"value": "reactjs.org"
156+
}
157+
],
158+
"destination": "https://react.dev/blog/2022/03/08/react-18-upgrade-guide",
159+
"permanent": true
160+
},
161+
{
162+
"source": "/blog/2021/12/17/react-conf-2021-recap.html",
163+
"has": [
164+
{
165+
"type": "host",
166+
"value": "reactjs.org"
167+
}
168+
],
169+
"destination": "https://react.dev/blog/2021/12/17/react-conf-2021-recap",
170+
"permanent": true
171+
},
172+
{
173+
"source": "/blog/2021/06/08/the-plan-for-react-18.html",
174+
"has": [
175+
{
176+
"type": "host",
177+
"value": "reactjs.org"
178+
}
179+
],
180+
"destination": "https://react.dev/blog/2021/06/08/the-plan-for-react-18",
181+
"permanent": true
182+
},
183+
{
184+
"source": "/:path*",
185+
"has": [
186+
{
187+
"type": "host",
188+
"value": "reactjs.org"
189+
}
190+
],
191+
"destination": "https://legacy.reactjs.org/:path*",
192+
"permanent": true
193+
},
7194
{
8195
"source": "/tips/controlled-input-null-value.html",
9-
"destination": "/docs/forms.html#controlled-input-null-value",
196+
"destination": "https://react.dev/reference/react-dom/components/input#im-getting-an-error-a-component-is-changing-an-uncontrolled-input-to-be-controlled",
10197
"permanent": false
11198
},
12199
{
@@ -17,22 +204,22 @@
17204
{
18205
"source": "/server-components",
19206
"destination": "https://react.dev/blog/2020/12/21/data-fetching-with-react-server-components",
20-
"permanent": false
207+
"permanent": true
21208
},
22209
{
23210
"source": "/concurrent",
24-
"destination": "https://react.dev/reference/react/Suspense",
25-
"permanent": false
211+
"destination": "https://react.dev/blog/2022/03/29/react-v18",
212+
"permanent": true
26213
},
27214
{
28215
"source": "/hooks",
29216
"destination": "https://react.dev/reference/react",
30-
"permanent": false
217+
"permanent": true
31218
},
32219
{
33220
"source": "/tutorial",
34221
"destination": "https://react.dev/learn/tutorial-tic-tac-toe",
35-
"permanent": false
222+
"permanent": true
36223
},
37224
{
38225
"source": "/stories",
@@ -51,7 +238,7 @@
51238
},
52239
{
53240
"source": "/link/controlled-components",
54-
"destination": "/docs/forms.html#controlled-components",
241+
"destination": "https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable",
55242
"permanent": false
56243
},
57244
{
@@ -61,7 +248,7 @@
61248
},
62249
{
63250
"source": "/link/dangerously-set-inner-html",
64-
"destination": "/docs/dom-elements.html#dangerouslysetinnerhtml",
251+
"destination": "https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html",
65252
"permanent": false
66253
},
67254
{
@@ -71,27 +258,27 @@
71258
},
72259
{
73260
"source": "/link/error-boundaries",
74-
"destination": "/docs/error-boundaries.html",
261+
"destination": "https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary",
75262
"permanent": false
76263
},
77264
{
78265
"source": "/link/event-pooling",
79-
"destination": "/docs/legacy-event-pooling.html",
266+
"destination": "https://react.dev/reference/react/useEffect#fetching-data-with-effects",
80267
"permanent": false
81268
},
82269
{
83270
"source": "/link/hooks-data-fetching",
84-
"destination": "/docs/hooks-faq.html#how-can-i-do-data-fetching-with-hooks",
271+
"destination": "https://react.dev/reference/react/useEffect#fetching-data-with-effects",
85272
"permanent": false
86273
},
87274
{
88275
"source": "/link/invalid-aria-props",
89-
"destination": "/warnings/invalid-aria-prop.html",
276+
"destination": "https://react.dev/warnings/invalid-aria-prop",
90277
"permanent": false
91278
},
92279
{
93280
"source": "/link/invalid-hook-call",
94-
"destination": "/warnings/invalid-hook-call-warning.html",
281+
"destination": "https://react.dev/warnings/invalid-hook-call-warning",
95282
"permanent": false
96283
},
97284
{
@@ -116,7 +303,7 @@
116303
},
117304
{
118305
"source": "/link/react-devtools",
119-
"destination": "/blog/2015/09/02/new-react-developer-tools.html#installation",
306+
"destination": "https://react.dev/learn/react-developer-tools",
120307
"permanent": false
121308
},
122309
{
@@ -131,17 +318,17 @@
131318
},
132319
{
133320
"source": "/link/rules-of-hooks",
134-
"destination": "/docs/hooks-rules.html",
321+
"destination": "https://react.dev/warnings/invalid-hook-call-warning",
135322
"permanent": false
136323
},
137324
{
138325
"source": "/link/special-props",
139-
"destination": "/warnings/special-props.html",
326+
"destination": "https://react.dev/warnings/special-props",
140327
"permanent": false
141328
},
142329
{
143330
"source": "/link/strict-mode-find-node",
144-
"destination": "/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage",
331+
"destination": "https://react.dev/reference/react-dom/findDOMNode#alternatives",
145332
"permanent": false
146333
},
147334
{
@@ -156,7 +343,7 @@
156343
},
157344
{
158345
"source": "/link/warning-keys",
159-
"destination": "/docs/lists-and-keys.html#keys",
346+
"destination": "https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key",
160347
"permanent": false
161348
},
162349
{

0 commit comments

Comments
 (0)