Skip to content

Commit 4c0ff35

Browse files
committed
Append trailing backslashes to all urls to avoid 301 redirects
1 parent ec3ab2b commit 4c0ff35

4 files changed

Lines changed: 115 additions & 111 deletions

File tree

app/dashboard/urls.py

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,148 +3,152 @@
33

44
urlpatterns = [
55
path(
6-
"scenario/results/visualize",
6+
"scenario/results/visualize/",
77
scenario_visualize_results,
88
name="scenario_visualize_results",
99
),
1010
path(
11-
"scenario/results/visualize/<int:scen_id>",
11+
"scenario/results/visualize/<int:scen_id>/",
1212
scenario_visualize_results,
1313
name="scenario_visualize_results",
1414
),
1515
path(
16-
"project/<int:proj_id>/scenario/<int:scen_id>/results/visualize",
16+
"project/<int:proj_id>/scenario/<int:scen_id>/results/visualize/",
1717
scenario_visualize_results,
1818
name="scenario_visualize_results",
1919
),
2020
path(
21-
"project/<int:proj_id>/scenario/results/visualize",
21+
"project/<int:proj_id>/scenario/results/visualize/",
2222
scenario_visualize_results,
2323
name="project_visualize_results",
2424
),
2525
path(
26-
"project/<int:proj_id>/scenario/results/compare",
26+
"project/<int:proj_id>/scenario/results/compare/",
2727
project_compare_results,
2828
name="project_compare_results",
2929
),
30-
path("result-change-project", result_change_project, name="result_change_project"),
3130
path(
32-
"project/<int:proj_id>/scenario/results/sensitivity-analysis",
31+
"result-change-project/",
32+
result_change_project,
33+
name="result_change_project",
34+
),
35+
path(
36+
"project/<int:proj_id>/scenario/results/sensitivity-analysis/",
3337
project_sensitivity_analysis,
3438
name="project_sensitivity_analysis",
3539
),
3640
path(
37-
"project/<int:proj_id>/scenario/results/sensitivity-analysis/<int:sa_id>",
41+
"project/<int:proj_id>/scenario/results/sensitivity-analysis/<int:sa_id>/",
3842
project_sensitivity_analysis,
3943
name="project_sensitivity_analysis",
4044
),
4145
path(
42-
"project/<int:proj_id>/scenario/results/sensitivity-analysis/add-graph",
46+
"project/<int:proj_id>/scenario/results/sensitivity-analysis/add-graph/",
4347
sensitivity_analysis_create_graph,
4448
name="sensitivity_analysis_create_graph",
4549
),
4650
path(
47-
"ajax/sensitivity-analysis/graph-parameters",
51+
"ajax/sensitivity-analysis/graph-parameters/",
4852
ajax_get_sensitivity_analysis_parameters,
4953
name="ajax_get_sensitivity_analysis_parameters",
5054
),
5155
path(
52-
"scenario/results/available/<int:scen_id>",
56+
"scenario/results/available/<int:scen_id>/",
5357
scenario_available_results,
5458
name="scenario_available_results",
5559
),
5660
path(
57-
"scenario/results/request_economic_data/<int:scen_id>",
61+
"scenario/results/request_economic_data/<int:scen_id>/",
5862
scenario_economic_results,
5963
name="scenario_economic_results",
6064
),
6165
re_path(
62-
r"^asset/view_form/(?P<scen_id>\d+)/(?P<asset_type_name>\w+)?(/(?P<asset_uuid>[0-9a-f-]+))?$",
66+
r"^asset/view_form/(?P<scen_id>\d+)/(?P<asset_type_name>\w+)?(/(?P<asset_uuid>[0-9a-f-]+))?/$",
6367
view_asset_parameters,
6468
name="view_asset_parameters",
6569
),
6670
path(
67-
"project/<int:proj_id>/scenario/results/request_kpi_table",
71+
"project/<int:proj_id>/scenario/results/request_kpi_table/",
6872
request_kpi_table,
6973
name="request_kpi_table",
7074
),
7175
re_path(
72-
r"^project/(?P<proj_id>\d+)/scenario/results/request_systen_costs_table/(?P<scen_id>\d+)?$",
76+
r"^project/(?P<proj_id>\d+)/scenario/results/request_systen_costs_table/(?P<scen_id>\d+)?/$",
7377
request_system_costs_table,
7478
name="request_system_costs_table",
7579
),
7680
re_path(
77-
r"^project/(?P<proj_id>\d+)/scenario/results/update-selected-single-scenario/(?P<scen_id>\d+)?$",
81+
r"^project/(?P<proj_id>\d+)/scenario/results/update-selected-single-scenario/(?P<scen_id>\d+)?/$",
7882
update_selected_single_scenario,
7983
name="update_selected_single_scenario",
8084
),
8185
re_path(
82-
r"^project/(?P<proj_id>\d+)/scenario/results/update-selected-multi-scenarios$",
86+
r"^project/(?P<proj_id>\d+)/scenario/results/update-selected-multi-scenarios/$",
8387
update_selected_multi_scenarios,
8488
name="update_selected_multi_scenarios",
8589
),
8690
re_path(
87-
r"^project/(?P<proj_id>\d+)/scenario/results/request_timeseries/(?P<scen_id>\d+)?$",
91+
r"^project/(?P<proj_id>\d+)/scenario/results/request_timeseries/(?P<scen_id>\d+)?/$",
8892
scenario_visualize_timeseries,
8993
name="scenario_visualize_timeseries",
9094
),
9195
re_path(
92-
r"^scenario/results/request_stacked_timeseries/(?P<scen_id>\d+)?$",
96+
r"^scenario/results/request_stacked_timeseries/(?P<scen_id>\d+)?/$",
9397
scenario_visualize_stacked_timeseries,
9498
name="scenario_visualize_stacked_timeseries",
9599
),
96100
re_path(
97-
r"^scenario/results/request_sankey/(?P<scen_id>\d+)?$",
101+
r"^scenario/results/request_sankey/(?P<scen_id>\d+)?/$",
98102
scenario_visualize_sankey,
99103
name="scenario_visualize_sankey",
100104
),
101105
re_path(
102-
r"^scenario/results/request_sankey/(?P<scen_id>\d+)?(/(?P<ts>\d+))?$",
106+
r"^scenario/results/request_sankey/(?P<scen_id>\d+)?(/(?P<ts>\d+))?/$",
103107
scenario_visualize_sankey,
104108
name="scenario_visualize_sankey",
105109
),
106110
re_path(
107-
r"^project/(?P<proj_id>\d+)/scenario/results/request-capacities/(?P<scen_id>\d+)?$",
111+
r"^project/(?P<proj_id>\d+)/scenario/results/request-capacities/(?P<scen_id>\d+)?/$",
108112
scenario_visualize_capacities,
109113
name="scenario_visualize_capacities",
110114
),
111115
re_path(
112-
r"^project/(?P<proj_id>\d+)/scenario/results/request-costs/(?P<scen_id>\d+)?$",
116+
r"^project/(?P<proj_id>\d+)/scenario/results/request-costs/(?P<scen_id>\d+)?/$",
113117
scenario_visualize_costs,
114118
name="scenario_visualize_costs",
115119
),
116120
path(
117-
"scenario/results/download_scalars/<int:scen_id>",
121+
"scenario/results/download_scalars/<int:scen_id>/",
118122
download_scalar_results,
119123
name="download_scalar_results",
120124
),
121125
path(
122-
"scenario/results/download_costs/<int:scen_id>",
126+
"scenario/results/download_costs/<int:scen_id>/",
123127
download_cost_results,
124128
name="download_cost_results",
125129
),
126130
path(
127-
"scenario/results/download_timeseries/<int:scen_id>",
131+
"scenario/results/download_timeseries/<int:scen_id>/",
128132
download_timeseries_results,
129133
name="download_timeseries_results",
130134
),
131135
path(
132-
"project/<int:proj_id>/scenario/results/download_timeseries",
136+
"project/<int:proj_id>/scenario/results/download_timeseries/",
133137
redirect_download_timeseries_results,
134138
name="redirect_download_timeseries_results",
135139
),
136140
path(
137-
"project/<int:proj_id>/scenario/results/add_graph",
141+
"project/<int:proj_id>/scenario/results/add_graph/",
138142
report_create_item,
139143
name="report_create_item",
140144
),
141145
path(
142-
"project/<int:proj_id>/scenario/results/delete_graph",
146+
"project/<int:proj_id>/scenario/results/delete_graph/",
143147
report_delete_item,
144148
name="report_delete_item",
145149
),
146150
path(
147-
"ajax/get-graph-parameters-form/<int:proj_id>",
151+
"ajax/get-graph-parameters-form/<int:proj_id>/",
148152
ajax_get_graph_parameters_form,
149153
name="ajax_get_graph_parameters_form",
150154
),

app/epa/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
path("admin/", admin.site.urls),
3636
path("users/", include("django.contrib.auth.urls")),
3737
path("users/", include("users.urls")),
38-
path("", include("projects.urls")),
38+
path("/", include("projects.urls")),
3939
path("dashboard/", include("dashboard.urls")),
4040
path("imprint/", imprint, name="imprint"),
4141
path("privacy/", privacy, name="privacy"),

0 commit comments

Comments
 (0)