Skip to content

Commit 4ebdf4e

Browse files
committed
Update Amplify CustomRules for redirect
- Update CloudFormation template to match rewrite.json changes - Replace all specific Amplify CustomRules with single catch-all redirect - Ensures consistent redirect behavior across all deployment methods
1 parent b7f0ff3 commit 4ebdf4e

File tree

1 file changed

+1
-311
lines changed

1 file changed

+1
-311
lines changed

deployment/walabs.yaml

Lines changed: 1 addition & 311 deletions
Original file line numberDiff line numberDiff line change
@@ -33,317 +33,7 @@ Resources:
3333
AccessToken: !Ref GitHubAcccesToken
3434
CustomRules:
3535
- Source: "/<*>"
36-
Target: "/index.html"
37-
Status: '404'
38-
39-
- Source: "/README.html"
40-
Target: "/"
41-
Status: '301'
42-
43-
# Operational Excellence
44-
- Source: "/Operations/README.html"
45-
Target: "/operational-excellence/"
46-
Status: '301'
47-
48-
- Source: "/Operations/100_Inventory_and_Patch_Mgmt/<*>.html"
49-
Target: "/operational-excellence/100_labs/100_inventory_patch_management/"
50-
Status: '301'
51-
52-
- Source: "/Operations/"
53-
Target: "/operational-excellence/"
54-
Status: '301'
55-
56-
# Security
57-
- Source: "/Security/README.html"
58-
Target: "/security/"
59-
Status: '301'
60-
61-
- Source: "/Security/100_AWS_Account_and_Root_User/<*>.html"
62-
Target: "/security/100_labs/100_aws_account_and_root_user/"
63-
Status: '301'
64-
65-
- Source: "/Security/100_Basic_Identity_and_Access_Management_User_Group_Role/<*>.html"
66-
Target: "/security/100_labs/100_basic_identity_and_access_management_user_group_role/"
67-
Status: '301'
68-
69-
- Source: "/Security/100_CloudFront_with_S3_Bucket_Origin/<*>.html"
70-
Target: "/security/100_labs/100_cloudfront_with_s3_bucket_origin/"
71-
Status: '301'
72-
73-
- Source: "/Security/100_Create_a_Data_Bunker/<*>.html"
74-
Target: "/security/100_labs/100_create_a_data_bunker/"
75-
Status: '301'
76-
77-
- Source: "/Security/100_Enable_Security_Hub/<*>.html"
78-
Target: "/security/100_labs/100_enable_security_hub/"
79-
Status: '301'
80-
81-
- Source: "/Security/200_Automated_Deployment_of_Detective_Controls/<*>.html"
82-
Target: "/security/200_labs/200_automated_deployment_of_detective_controls/"
83-
Status: '301'
84-
85-
- Source: "/Security/200_Automated_Deployment_of_EC2_Web_Application/<*>.html"
86-
Target: "/security/200_labs/200_automated_deployment_of_ec2_web_application/"
87-
Status: '301'
88-
89-
- Source: "/Security/200_Automated_Deployment_of_IAM_Groups_and_Roles/<*>.html"
90-
Target: "/security/200_labs/200_automated_deployment_of_iam_groups_and_roles/"
91-
Status: '301'
92-
93-
- Source: "/Security/200_Automated_Deployment_of_VPC/<*>.html"
94-
Target: "/security/200_labs/200_automated_deployment_of_vpc/"
95-
Status: '301'
96-
97-
- Source: "/Security/200_Automated_Deployment_of_Web_Application_Firewall/<*>.html"
98-
Target: "/security/200_labs/200_automated_deployment_of_web_application_firewall/"
99-
Status: '301'
100-
101-
- Source: "/Security/200_Automated_IAM_User_Cleanup/<*>.html"
102-
Target: "/security/200_labs/200_automated_iam_user_cleanup/"
103-
Status: '301'
104-
105-
- Source: "/Security/200_Basic_EC2_with_WAF_Protection/<*>.html"
106-
Target: "/security/200_labs/200_basic_ec2_with_waf_protection/"
107-
Status: '301'
108-
109-
- Source: "/Security/200_Certificate_Manager_Request_Public_Certificate/<*>.html"
110-
Target: "/security/200_labs/200_certificate_manager_request_public_certificate/"
111-
Status: '301'
112-
113-
- Source: "/Security/200_CloudFront_for_Web_Application/<*>.html"
114-
Target: "/security/200_labs/200_cloudfront_for_web_application/"
115-
Status: '301'
116-
117-
- Source: "/Security/200_CloudFront_with_WAF_Protection/<*>.html"
118-
Target: "/security/200_labs/200_cloudfront_with_waf_protection/"
119-
Status: '301'
120-
121-
- Source: "/Security/300_IAM_Permission_Boundaries_Delegating_Role_Creation/<*>.html"
122-
Target: "/security/300_labs/300_iam_permission_boundaries_delegating_role_creation/"
123-
Status: '301'
124-
125-
- Source: "/Security/300_IAM_Tag_Based_Access_Control_for_EC2/<*>.html"
126-
Target: "/security/300_labs/300_iam_tag_based_access_control_for_ec2/"
127-
Status: '301'
128-
129-
- Source: "/Security/300_Incident_Response_Playbook_with_Jupyter-AWS_IAM/<*>.html"
130-
Target: "/security/300_labs/300_incident_response_playbook_with_jupyter-aws_iam/"
131-
Status: '301'
132-
133-
- Source: "/Security/300_Incident_Response_with_AWS_Console_and_CLI/<*>.html"
134-
Target: "/security/300_labs/300_incident_response_with_aws_console_and_cli/"
135-
Status: '301'
136-
137-
- Source: "/Security/300_Lambda_Cross_Account_Bucket_Policy/<*>.html"
138-
Target: "/security/300_labs/300_lambda_cross_account_bucket_policy/"
139-
Status: '301'
140-
141-
- Source: "/Security/300_Lambda_Cross_Account_IAM_Role_Assumption/<*>.html"
142-
Target: "/security/300_labs/300_lambda_cross_account_iam_role_assumption/"
143-
Status: '301'
144-
145-
- Source: "/Security/Quest_100_Loft_Introduction_to_Security/<*>.html"
146-
Target: "/security/quests/quest_100_loft_introduction_to_security/"
147-
Status: '301'
148-
149-
- Source: "/Security/Quest_100_Quick_Steps_to_Security_Success/<*>.html"
150-
Target: "/security/quests/quest_100_quick_steps_to_security_success/"
151-
Status: '301'
152-
153-
- Source: "/Security/Quest_200_Incident_Response_Day/<*>.html"
154-
Target: "/security/quests/quest_200_incident_response_day/"
155-
Status: '301'
156-
157-
- Source: "/Security/Quest_300_Security_Best_Practices_Day/<*>.html"
158-
Target: "/security/quests/quest_300_security_best_practices_day/"
159-
Status: '301'
160-
161-
- Source: "/Security/Quest_300_Security_Best_Practices_Workshop_EC/<*>.html"
162-
Target: "/security/quests/quest_300_security_best_practices_workshop_ec2/"
163-
Status: '301'
164-
165-
- Source: "/Security/Quest_Classify_Data/<*>.html"
166-
Target: "/security/quests/quest_classify_data/"
167-
Status: '301'
168-
169-
- Source: "/Security/Quest_Control_Human_Access/<*>.html"
170-
Target: "/security/quests/quest_control_human_access/"
171-
Status: '301'
172-
173-
- Source: "/Security/Quest_Control_Programmatic_Access/<*>.html"
174-
Target: "/security/quests/quest_control_programmatic_access/"
175-
Status: '301'
176-
177-
- Source: "/Security/Quest_Defend_Against_New_Threats/<*>.html"
178-
Target: "/security/quests/quest_defend_against_new_threats/"
179-
Status: '301'
180-
181-
- Source: "/Security/Quest_Detect_and_Investigate_Events/<*>.html"
182-
Target: "/security/quests/quest_detect_and_investigate_events/"
183-
Status: '301'
184-
185-
- Source: "/Security/Quest_Incident_Response/<*>.html"
186-
Target: "/security/quests/quest_incident_response/"
187-
Status: '301'
188-
189-
- Source: "/Security/Quest_Managing_Credentials_and_Authentication/<*>.html"
190-
Target: "/security/quests/quest_managing_credentials_and_authentication/"
191-
Status: '301'
192-
193-
- Source: "/Security/Quest_Protect_Compute/<*>.html"
194-
Target: "/security/quests/quest_protect_compute/"
195-
Status: '301'
196-
197-
- Source: "/Security/Quest_Protect_Data_at_Rest/<*>.html"
198-
Target: "/security/quests/quest_protect_data_at_rest/"
199-
Status: '301'
200-
201-
- Source: "/Security/Quest_Protect_Data_in_Transit/<*>.html"
202-
Target: "/security/quests/quest_protect_data_in_transit/"
203-
Status: '301'
204-
205-
- Source: "/Security/Quest_Protect_Networks/<*>.html"
206-
Target: "/security/quests/quest_protect_networks/"
207-
Status: '301'
208-
209-
- Source: "/Security/"
210-
Target: "/security/"
211-
Status: '301'
212-
213-
# Reliability
214-
- Source: "/Reliability/README.html"
215-
Target: "/reliability/"
216-
Status: '301'
217-
218-
- Source: "/Reliability/200_Bidirectional_Replication_for_S3/<*>.html"
219-
Target: "/reliability/200_labs/200_bidirectional_replication_for_s3/"
220-
Status: '301'
221-
222-
- Source: "/Reliability/200_Deploy_and_Update_CloudFormation/<*>.html"
223-
Target: "/reliability/200_labs/200_deploy_and_update_cloudformation/"
224-
Status: '301'
225-
226-
- Source: "/Reliability/200_Testing_Backup_and_Restore_of_Data/<*>.html"
227-
Target: "/reliability/200_labs/200_testing_backup_and_restore_of_data/"
228-
Status: '301'
229-
230-
- Source: "/Reliability/200_Testing_for_Resiliency_of_EC2/<*>.html"
231-
Target: "/reliability/200_labs/200_testing_for_resiliency_of_ec2/"
232-
Status: '301'
233-
234-
- Source: "/Reliability/300_Health_Checks_and_Dependencies/<*>.html"
235-
Target: "/reliability/300_labs/300_health_checks_and_dependencies/"
236-
Status: '301'
237-
238-
- Source: "/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/<*>.html"
239-
Target: "/reliability/300_labs/300_testing_for_resiliency_of_ec2_rds_and_s3/"
240-
Status: '301'
241-
242-
# saw this in the logs, so adding a special case
243-
- Source: "/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/Lab_Guide.htmlSlow"
244-
Target: "/reliability/300_labs/300_testing_for_resiliency_of_ec2_rds_and_s3/"
245-
Status: '301'
246-
247-
- Source: "/Reliability/"
248-
Target: "/reliability/"
249-
Status: '301'
250-
251-
# Cost
252-
- Source: "/Cost/README.html"
253-
Target: "/cost/"
254-
Status: '301'
255-
256-
- Source: "/Cost/Fundamentals.html"
257-
Target: "/cost/fundamentals/"
258-
Status: '301'
259-
260-
- Source: "/Cost/ExpenditureAwareness.html"
261-
Target: "/cost/expenditureawareness/"
262-
Status: '301'
263-
264-
- Source: "/Cost/CostEffectiveResources.html"
265-
Target: "/cost/costeffectiveresources/"
266-
Status: '301'
267-
268-
- Source: "/Cost/Cost_Effective_Resources/100_AWS_Resource_Optimization/<*>.html"
269-
Target: "/cost/100_labs/100_aws_resource_optimization/"
270-
Status: '301'
271-
272-
- Source: "/Cost/Cost_Fundamentals/100_1_AWS_Account_Setup/<*>.html"
273-
Target: "/cost/100_labs/100_1_aws_account_setup/"
274-
Status: '301'
275-
276-
- Source: "/Cost/Cost_Fundamentals/100_2_Cost_and_Usage_Governance/<*>.html"
277-
Target: "/cost/100_labs/100_2_cost_and_usage_governance/"
278-
Status: '301'
279-
280-
- Source: "/Cost/Cost_Fundamentals/100_3_Pricing_Models/<*>.html"
281-
Target: "/cost/100_labs/100_3_pricing_models/"
282-
Status: '301'
283-
284-
- Source: "/Cost/Cost_Fundamentals/100_4_Cost_and_Usage_Analysis/<*>.html"
285-
Target: "/cost/100_labs/100_4_cost_and_usage_analysis/"
286-
Status: '301'
287-
288-
- Source: "/Cost/Cost_Fundamentals/100_5_Cost_Visualization/<*>.html"
289-
Target: "/cost/100_labs/100_5_cost_visualization/"
290-
Status: '301'
291-
292-
- Source: "/Cost/Cost_Fundamentals/200_2_Cost_and_Usage_Governance/<*>.html"
293-
Target: "/cost/200_labs/200_2_cost_and_usage_governance/"
294-
Status: '301'
295-
296-
- Source: "/Cost/Cost_Fundamentals/200_3_Pricing_Models/<*>.html"
297-
Target: "/cost/200_labs/200_3_pricing_models/"
298-
Status: '301'
299-
300-
- Source: "/Cost/Cost_Fundamentals/200_4_Cost_and_Usage_Analysis/<*>.html"
301-
Target: "/cost/200_labs/200_4_cost_and_usage_analysis/"
302-
Status: '301'
303-
304-
- Source: "/Cost/Cost_Fundamentals/200_5_Cost_Visualization/<*>.html"
305-
Target: "/cost/200_labs/200_5_cost_visualization/"
306-
Status: '301'
307-
308-
- Source: "/Cost/Cost_Effective_Resources/200_AWS_Resource_Optimization/<*>.html"
309-
Target: "/cost/200_labs/200_aws_resource_optimization/"
310-
Status: '301'
311-
312-
- Source: "/Cost/Cost_Effective_Resources/200_Pricing_Model_Analysis/<*>.html"
313-
Target: "/cost/200_labs/200_pricing_model_analysis/"
314-
Status: '301'
315-
316-
- Source: "/Cost/Expenditure_Awareness/Workload_Efficiency/<*>.html"
317-
Target: "/cost/200_labs/200_workload_efficiency/"
318-
Status: '301'
319-
320-
- Source: "/Cost/Cost_and_Usage_Analysis/300_Automated_CUR_Updates_and_Ingestion/<*>.html"
321-
Target: "/cost/300_labs/300_automated_cur_updates_and_ingestion/"
322-
Status: '301'
323-
324-
- Source: "/Cost/Cost_and_Usage_Analysis/300_Multi_Account_CUR_Access/<*>.html"
325-
Target: "/cost/300_labs/300_multi_account_cur_access/"
326-
Status: '301'
327-
328-
- Source: "/Cost/Cost_and_Usage_Analysis/300_Splitting_Sharing_CUR_Access/<*>.html"
329-
Target: "/cost/300_labs/300_splitting_sharing_cur_access/"
330-
Status: '301'
331-
332-
- Source: "/Cost/Expenditure_Awareness/300_Automated_CUR_Query_and_Email_Delivery/<*>.html"
333-
Target: "/cost/300_labs/300_automated_cur_query_and_email_delivery/"
334-
Status: '301'
335-
336-
- Source: "/Cost/"
337-
Target: "/cost/"
338-
Status: '301'
339-
340-
# WAT
341-
- Source: Well-ArchitectedTool/README.html
342-
Target: "/well-architectedtool/"
343-
Status: '301'
344-
345-
- Source: Well-ArchitectedTool/100_Walkthrough_of_the_Well-Architected_Tool/<*>.html
346-
Target: "/well-architectedtool/100_labs/100_walkthrough_of_the_well-architected_tool/"
36+
Target: "https://aws.amazon.com/pt/architecture/well-architected/"
34737
Status: '301'
34838

34939
EnvironmentVariables:

0 commit comments

Comments
 (0)