@@ -12,6 +12,180 @@ NODE_VERSION = "22"
1212[images ]
1313# https://docs.netlify.com/build/image-cdn/overview/#remote-path
1414remote_images = [
15+ " https://char\\ .com/.*" ,
1516 " https://hyprnote\\ .com/.*" ,
1617 " https://ijoptyyjrfqwaqhyxkxj\\ .supabase\\ .co/.*" ,
1718]
19+
20+ # Domain migration: hyprnote.com -> char.com (301 for SEO)
21+ # Exclude /admin, /app, /api, /webhook, /callback, /auth from redirects
22+ # These paths stay on hyprnote.com without redirect
23+
24+ # Redirect content pages from hyprnote.com to char.com
25+ [[redirects ]]
26+ from = " https://hyprnote.com/blog/*"
27+ to = " https://char.com/blog/:splat"
28+ status = 301
29+ force = true
30+
31+ [[redirects ]]
32+ from = " https://hyprnote.com/docs/*"
33+ to = " https://char.com/docs/:splat"
34+ status = 301
35+ force = true
36+
37+ [[redirects ]]
38+ from = " https://hyprnote.com/changelog/*"
39+ to = " https://char.com/changelog/:splat"
40+ status = 301
41+ force = true
42+
43+ [[redirects ]]
44+ from = " https://hyprnote.com/templates/*"
45+ to = " https://char.com/templates/:splat"
46+ status = 301
47+ force = true
48+
49+ [[redirects ]]
50+ from = " https://hyprnote.com/gallery/*"
51+ to = " https://char.com/gallery/:splat"
52+ status = 301
53+ force = true
54+
55+ [[redirects ]]
56+ from = " https://hyprnote.com/integrations/*"
57+ to = " https://char.com/integrations/:splat"
58+ status = 301
59+ force = true
60+
61+ [[redirects ]]
62+ from = " https://hyprnote.com/legal/*"
63+ to = " https://char.com/legal/:splat"
64+ status = 301
65+ force = true
66+
67+ [[redirects ]]
68+ from = " https://hyprnote.com/jobs/*"
69+ to = " https://char.com/jobs/:splat"
70+ status = 301
71+ force = true
72+
73+ [[redirects ]]
74+ from = " https://hyprnote.com/roadmap/*"
75+ to = " https://char.com/roadmap/:splat"
76+ status = 301
77+ force = true
78+
79+ [[redirects ]]
80+ from = " https://hyprnote.com/vs/*"
81+ to = " https://char.com/vs/:splat"
82+ status = 301
83+ force = true
84+
85+ [[redirects ]]
86+ from = " https://hyprnote.com/product/*"
87+ to = " https://char.com/product/:splat"
88+ status = 301
89+ force = true
90+
91+ [[redirects ]]
92+ from = " https://hyprnote.com/solution/*"
93+ to = " https://char.com/solution/:splat"
94+ status = 301
95+ force = true
96+
97+ [[redirects ]]
98+ from = " https://hyprnote.com/company-handbook/*"
99+ to = " https://char.com/company-handbook/:splat"
100+ status = 301
101+ force = true
102+
103+ [[redirects ]]
104+ from = " https://hyprnote.com/press-kit/*"
105+ to = " https://char.com/press-kit/:splat"
106+ status = 301
107+ force = true
108+
109+ [[redirects ]]
110+ from = " https://hyprnote.com/download"
111+ to = " https://char.com/download"
112+ status = 301
113+ force = true
114+
115+ [[redirects ]]
116+ from = " https://hyprnote.com/pricing"
117+ to = " https://char.com/pricing"
118+ status = 301
119+ force = true
120+
121+ [[redirects ]]
122+ from = " https://hyprnote.com/about"
123+ to = " https://char.com/about"
124+ status = 301
125+ force = true
126+
127+ [[redirects ]]
128+ from = " https://hyprnote.com/opensource"
129+ to = " https://char.com/opensource"
130+ status = 301
131+ force = true
132+
133+ [[redirects ]]
134+ from = " https://hyprnote.com/enterprise"
135+ to = " https://char.com/enterprise"
136+ status = 301
137+ force = true
138+
139+ [[redirects ]]
140+ from = " https://hyprnote.com/security"
141+ to = " https://char.com/security"
142+ status = 301
143+ force = true
144+
145+ [[redirects ]]
146+ from = " https://hyprnote.com/free"
147+ to = " https://char.com/free"
148+ status = 301
149+ force = true
150+
151+ [[redirects ]]
152+ from = " https://hyprnote.com/contact"
153+ to = " https://char.com/contact"
154+ status = 301
155+ force = true
156+
157+ # Homepage redirect
158+ [[redirects ]]
159+ from = " https://hyprnote.com"
160+ to = " https://char.com"
161+ status = 301
162+ force = true
163+
164+ # Note: www.hyprnote.com and http variants are handled by Netlify's built-in
165+ # www redirect (www -> apex) and HTTPS enforcement. After those redirects,
166+ # the selective rules above will apply to hyprnote.com.
167+
168+ # Secondary domains-> char.com
169+ [[redirects ]]
170+ from = " https://getchar.com/*"
171+ to = " https://char.com/:splat"
172+ status = 301
173+ force = true
174+
175+ [[redirects ]]
176+ from = " https://www.getchar.com/*"
177+ to = " https://char.com/:splat"
178+ status = 301
179+ force = true
180+
181+ [[redirects ]]
182+ from = " http://getchar.com/*"
183+ to = " https://char.com/:splat"
184+ status = 301
185+ force = true
186+
187+ [[redirects ]]
188+ from = " http://www.getchar.com/*"
189+ to = " https://char.com/:splat"
190+ status = 301
191+ force = true
0 commit comments