[英]Issues in urls when running Django in subdirectory or say suburl
我正在嘗試在 WordPress 內運行 Django,例如 WordPress 在 main url www.wptesting.com和 Django 在 suburl www.wptesting.com/django 。 Django 主根 url 在www.wptesting.com/django上工作正常,但它的 suburl 例如 admin 不工作,因為它應該是www.wptesting.com/django/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 未找到錯誤,但是當我嘗試訪問任何有效的 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'),
)
首先,Django 和 apache 作為后端網絡服務器運行。 因此,您可以通過在兩個單獨的端口上運行 apache 和 Django 來解決此問題。
然后,您可以使用HttpResponseRedirect
從當前 Django 站點重定向到新站點。
這是 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 項目時生成的文件。
嘿,我在您的網址中遇到問題,請嘗試:
www.wptesting.com/admin
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.