서브디렉토리에서 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_wsgi
apache의 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
'programing' 카테고리의 다른 글
오류 메시지:MongoError: URI 문자열을 통한 인증이 실패했습니다. (0) | 2023.03.08 |
---|---|
블록에 '@ts-ignore'를 사용하는 방법 (0) | 2023.03.08 |
다른 필드의 값을 사용하여 MongoDB 필드 업데이트 (0) | 2023.03.08 |
메인 클래스를 찾을 수 없습니다.bootRepackage (0) | 2023.03.08 |
jquery ajax의 async:false와 async:true의 차이점은 무엇입니까? (0) | 2023.03.08 |