programing

서브디렉토리에서 Django를 실행하거나 suburl이라고 할 때 URL에 문제가 발생함

bestprogram 2023. 3. 8. 21:55

서브디렉토리에서 Django를 실행하거나 suburl이라고 할 때 URL에 문제가 발생함

WordPress에서 WordPress와 같은 WordPress에서 Django를 실행하려고 합니다.메인 URL www.wptesting.com의 Django와 subl www.wptesting.com/django의 Django를 실행하려고 합니다.Django 메인루트 URL www.wptesting.com/django 에서는 정상적으로 동작하고 있습니다만, subl admin 등의 subl은 www.wptesting.com/django/admin 로 동작하고 있지 않습니다.단, admin URL을 요청하려고 하면 www.wptesting.comhttp%3a//wptesting.com/django/admin로 변환됩니다.

WordPress와 Django를 운영하고 있습니다.Apache그리고.mod_wsgiapache의 conf 파일은 다음과 같습니다.

<VirtualHost *:80>

WSGIScriptAlias /django /path_to_project/wsgi.py

ServerName wptesting.com
ServerAlias www.wptesting.com

DocumentRoot /var/www/html/wordpress

<Directory /var/www/html/wordpress/>
AllowOverride All
Order allow,deny

allow from all
#            Options Indexes FollowSymLinks
#            Require all granted
</Directory>


<Directory /path_to_project/>
            Options Indexes FollowSymLinks
            Require all granted
</Directory>


</VirtualHost>

WordPress의 서브디렉토리에서 Apache와 wsgi를 사용하여 Django를 설정하는 것에 대해 앞에서 질문한 적이 있습니다.-> 질문은 이쪽에서 보실 수 있습니다.

또한 제가 Django 프로젝트에 없는 URL에 접속하려고 하면 표준 404 not found 오류가 발생하지만, admin과 같은 유효한 URL에 접속하려고 하면 위의 오류가 발생합니다.

편집: 내 Urls.py 파일:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.views.generic import TemplateView

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'dev_redis.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^$',TemplateView.as_view(template_name='index.html')),
    url(r'^admin/', include(admin.site.urls)),

    url(r'^cache/', 'redis_app.views.redisTest'),

)

이것은 urls.py의 오래된 형식입니다.전류는 다음과 같습니다.

"""monero URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from monero import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', views.py),
]

이것은 실제로 새로운 장고 프로젝트를 만들 때 생성되는 파일입니다.

첫째, Django와 Apache는 백엔드 웹 서버로 실행됩니다.따라서 apache 및 Django를 2개의 개별 포트로 실행하여 이 문제를 해결할 수 있습니다.

그런 다음 를 사용하여 현재 Django 사이트에서 새 사이트로 리디렉션할 수 있습니다.

언급URL : https://stackoverflow.com/questions/26030545/issues-in-urls-when-running-django-in-subdirectory-or-say-suburl