mirror of https://github.com/jumpserver/jumpserver
[Update] 优化重定向
parent
a0e6d09770
commit
a463f632e8
|
@ -64,6 +64,14 @@ js_i18n_patterns = i18n_patterns(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
apps = [
|
||||||
|
'users', 'assets', 'perms', 'terminal', 'ops', 'audits', 'orgs', 'auth',
|
||||||
|
'applications', 'tickets', 'settings', 'xpack'
|
||||||
|
'flower', 'luna', 'koko', 'ws', 'i18n', 'jsi18n', 'docs', 'redocs',
|
||||||
|
'zh-hans'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.IndexView.as_view(), name='index'),
|
path('', views.IndexView.as_view(), name='index'),
|
||||||
path('api/v1/', include(api_v1)),
|
path('api/v1/', include(api_v1)),
|
||||||
|
@ -79,6 +87,10 @@ urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) \
|
||||||
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||||
urlpatterns += js_i18n_patterns
|
urlpatterns += js_i18n_patterns
|
||||||
|
|
||||||
|
# 兼容之前的
|
||||||
|
old_app_pattern = '|'.join(apps)
|
||||||
|
urlpatterns += [re_path(old_app_pattern, views.redirect_old_apps_view)]
|
||||||
|
|
||||||
handler404 = 'jumpserver.views.handler404'
|
handler404 = 'jumpserver.views.handler404'
|
||||||
handler500 = 'jumpserver.views.handler500'
|
handler500 = 'jumpserver.views.handler500'
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from django.http import HttpResponseRedirect, JsonResponse
|
from django.http import HttpResponseRedirect, JsonResponse, Http404
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.views.generic import View
|
from django.views.generic import View
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
@ -16,7 +16,7 @@ from common.http import HttpResponseTemporaryRedirect
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'LunaView', 'I18NView', 'KokoView', 'WsView', 'HealthCheckView',
|
'LunaView', 'I18NView', 'KokoView', 'WsView', 'HealthCheckView',
|
||||||
'redirect_format_api'
|
'redirect_format_api', 'redirect_old_apps_view'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,6 +51,14 @@ def redirect_format_api(request, *args, **kwargs):
|
||||||
return JsonResponse({"msg": "Redirect url failed: {}".format(_path)}, status=404)
|
return JsonResponse({"msg": "Redirect url failed: {}".format(_path)}, status=404)
|
||||||
|
|
||||||
|
|
||||||
|
def redirect_old_apps_view(request, *args, **kwargs):
|
||||||
|
path = request.get_full_path()
|
||||||
|
if path.find('/core') != -1:
|
||||||
|
raise Http404()
|
||||||
|
new_path = '/core{}'.format(path)
|
||||||
|
return HttpResponseTemporaryRedirect(new_path)
|
||||||
|
|
||||||
|
|
||||||
class HealthCheckView(APIView):
|
class HealthCheckView(APIView):
|
||||||
permission_classes = ()
|
permission_classes = ()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue