diff --git a/api/urls.py b/api/urls.py
index be58d3f9..5632376a 100644
--- a/api/urls.py
+++ b/api/urls.py
@@ -4,15 +4,15 @@ from personalni.utils import org_required
 
 urlpatterns = [
 	# Export škol
-	path('api/export/skoly/', views.exportSkolView, name='export_skoly'),
+	path('export/skoly/', views.exportSkolView, name='export_skoly'),
 
 
 	# Autocomplete
-	path('api/autocomplete/skola/', views.SkolaAutocomplete.as_view(), name='autocomplete_skola'),
-	path('api/autocomplete/resitel/', org_required(views.ResitelAutocomplete.as_view()), name='autocomplete_resitel'),
-	path('api/autocomplete/resitel_public/', views.PublicResitelAutocomplete.as_view(), name='autocomplete_resitel_public'),
-	path('api/autocomplete/problem/odevzdatelny', views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'),
-	path('api/autocomplete/problem/vsechny', views.ProblemAutocomplete.as_view(), name='autocomplete_problem'),
+	path('autocomplete/skola/', views.SkolaAutocomplete.as_view(), name='autocomplete_skola'),
+	path('autocomplete/resitel/', org_required(views.ResitelAutocomplete.as_view()), name='autocomplete_resitel'),
+	path('autocomplete/resitel_public/', views.PublicResitelAutocomplete.as_view(), name='autocomplete_resitel_public'),
+	path('autocomplete/problem/odevzdatelny', views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'),
+	path('autocomplete/problem/vsechny', views.ProblemAutocomplete.as_view(), name='autocomplete_problem'),
 
 	# Ceka na autocomplete v3
 	# path('autocomplete/organizatori/',
diff --git a/korektury/urls.py b/korektury/urls.py
index cf45ea8f..8b2ea08e 100644
--- a/korektury/urls.py
+++ b/korektury/urls.py
@@ -3,8 +3,8 @@ from personalni.utils import org_required
 from . import views
 
 urlpatterns = [
-	path('korektury/', org_required(views.KorekturySeskupeneListView.as_view()), name='korektury_list'),
-	path('korektury/neseskupene/', org_required(views.KorekturyAktualniListView.as_view()), name='korektury_neseskupene_list'),
-	path('korektury/zastarale/', org_required(views.KorekturyZastaraleListView.as_view()), name='korektury_stare_list'),
-	path('korektury/<int:pdf>/', org_required(views.KorekturyView.as_view()), name='korektury'),
+	path('', org_required(views.KorekturySeskupeneListView.as_view()), name='korektury_list'),
+	path('neseskupene/', org_required(views.KorekturyAktualniListView.as_view()), name='korektury_neseskupene_list'),
+	path('zastarale/', org_required(views.KorekturyZastaraleListView.as_view()), name='korektury_stare_list'),
+	path('<int:pdf>/', org_required(views.KorekturyView.as_view()), name='korektury'),
 ]
diff --git a/mamweb/urls.py b/mamweb/urls.py
index b2a0a0f0..80481b73 100644
--- a/mamweb/urls.py
+++ b/mamweb/urls.py
@@ -24,13 +24,13 @@ urlpatterns = [
 	path('', include('odevzdavatko.urls')),
 	
 	# Korekturovaci aplikace (ma vlastni podadresare)
-	path('', include('korektury.urls')),
+	path('korektury/', include('korektury.urls')),
 
 	# Prednaskova aplikace (ma vlastni podadresare)
-	path('', include('prednasky.urls')),
+	path('prednasky/', include('prednasky.urls')),
 
 	# Soustredkova aplikace (ma vlastni podadresare)
-	path('', include('soustredeni.urls')),
+	path('soustredeni/', include('soustredeni.urls')),
 
 	# Personalni aplikace (ma vlastni podadresare)
 	# (profil, osobní údaje, ..., ne autentizace, viz dále)
@@ -40,7 +40,7 @@ urlpatterns = [
 	path('', include('various.autentizace.urls')),
 
 	# Api (ma vlastni podadresare) (autocomplete apod.)
-	path('', include('api.urls')),
+	path('api/', include('api.urls')),
 
 	# treenode (ma vlastni podadresare)
 	path('', include('treenode.urls')),
diff --git a/prednasky/urls.py b/prednasky/urls.py
index eecc45ad..0644d8dc 100644
--- a/prednasky/urls.py
+++ b/prednasky/urls.py
@@ -4,21 +4,21 @@ from . import views
 
 urlpatterns = [
 	path(
-		'prednasky/',
+		'',
 		resitel_or_org_required(views.newPrednaska)
 	),
-	path('prednasky/hotovo', views.Prednaska_hotovo),
+	path('hotovo', views.Prednaska_hotovo),
 	path(
-		'prednasky/metaseznam_prednasek',
+		'metaseznam_prednasek',
 		org_required(views.MetaSeznamListView.as_view()),
 		name='metaseznam-list'),
 	path(
-		'prednasky/seznam_prednasek/<int:seznam>/export',
+		'seznam_prednasek/<int:seznam>/export',
 		org_required(views.SeznamExportView),
 		name='seznam-export'
 	),
 	path(
-		'prednasky/seznam_prednasek/<int:seznam>/',
+		'seznam_prednasek/<int:seznam>/',
 		org_required(views.SeznamListView.as_view()),
 		name='seznam-list'
 	),
diff --git a/soustredeni/urls.py b/soustredeni/urls.py
index 92cfad18..75b677ce 100644
--- a/soustredeni/urls.py
+++ b/soustredeni/urls.py
@@ -4,37 +4,37 @@ from personalni.utils import org_required
 
 urlpatterns = [
 	path(
-		'soustredeni/probehlo/',
+		'probehlo/',
 		views.SoustredeniListView.as_view(),
 		name='seminar_seznam_soustredeni'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/seznam_ucastniku',
+		'<int:soustredeni>/seznam_ucastniku',
 		org_required(views.SoustredeniUcastniciView.as_view()),
 		name='soustredeni_ucastnici'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/maily_ucastniku',
+		'<int:soustredeni>/maily_ucastniku',
 		org_required(views.SoustredeniMailyUcastnikuView.as_view()),
 		name='maily_ucastniku'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/export_ucastniku',
+		'<int:soustredeni>/export_ucastniku',
 		org_required(views.soustredeniUcastniciExportView),
 		name='soustredeni_ucastnici_export'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/stvrzenky.pdf',
+		'<int:soustredeni>/stvrzenky.pdf',
 		org_required(views.soustredeniStvrzenkyView),
 		name='soustredeni_ucastnici_stvrzenky'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/obalky.pdf',
+		'<int:soustredeni>/obalky.pdf',
 		org_required(views.soustredeniObalkyView),
 		name='seminar_soustredeni_obalky'
 	),
 	path(
-		'soustredeni/<int:soustredeni>/fotogalerie/',
+		'<int:soustredeni>/fotogalerie/',
 		include('galerie.urls')
 	),
 ]