Probleme in URLs, wenn Django in einem Unterverzeichnis ausgeführt wird, oder sagen Sie Sub-URL

Lesezeit: 3 Minuten

Benutzeravatar von Inforian
Inforian

Ich versuche, Django in WordPress wie WordPress unter der Haupt-URL auszuführen www.wptesting.com und Django unter suburl www.wptesting.com/django . Die Django-Hauptstamm-URL funktioniert gut unter www.wptesting.com/django aber seine Unter-URL, z. B. admin, funktioniert nicht so, wie es sein sollte www.wptesting.com/django/admin . Immer wenn ich jedoch versuchte, die Admin-URL anzufordern, wird sie konvertiert www.wptesting.comhttp%3a//wptesting.com/django/admin

Ich verwende WordPress und Django mit Apache und mod_wsgi meine conf-Datei für Apache lautet wie folgt:

<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>

Ich habe vorhin eine Frage zum Konfigurieren von Django aus dem Unterverzeichnis von WordPress mit Apache und wsgi gestellt -> Sie können die Frage hier sehen

Auch wenn ich versucht habe, auf eine URL zuzugreifen, die sich nicht im Django-Projekt befindet, wird der Standardfehler 404 nicht gefunden angezeigt. Wenn ich jedoch versuche, auf eine gültige URL wie Admin zuzugreifen, wird der oben erwähnte Fehler angezeigt.

Bearbeitet:
Meine Urls.py-Datei:

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'),

)

  • Nur ein paar Fragen: Haben Sie überprüft, ob die urls.py hat die Admin-URL und auch die automatische Erkennung für das Admin-Modul?

    – Nagaraj-Tantri

    25. September 2014 um 6:28 Uhr

  • Ja, urls.py hat ein Admin-Modul, sogar ich kann auf dem Entwicklungsserver darauf zugreifen

    – Inforian

    25. September 2014 um 7:01 Uhr

  • Könnten Sie einen kleinen Einblick geben, was Ihre urls.py hat? Sie müssen nicht alles anzeigen, zeigen Sie einfach die Admin-AutoErmittlung ()

    – Nagaraj-Tantri

    25. September 2014 um 8:29 Uhr

  • Ich habe meine Frage bearbeitet und den Dateicode urls.py hinzugefügt. Es geht jedoch nicht nur um Admin-URLs, es passiert auch mit anderen gültigen URLs, ich beziehe mich nur auf die Admin-URL als Beispiel.

    – Inforian

    25. September 2014 um 9:12 Uhr

  • Mögliches Duplikat von How to host a Django project in a subpath?

    – FamousJameous

    13. Juni 2018 um 22:10 Uhr

Das ist das alte Format für urls.py. Der Strom ist dieser:

"""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("https://stackoverflow.com/", views.py),
]

Dies ist eigentlich die Datei, die erstellt wird, wenn Sie ein neues Django-Projekt erstellen.

Benutzeravatar von Lewis Machilika
Lewis Machilika

Erstens laufen Django und Apache als Backend-Webserver. Daher können Sie dies lösen, indem Sie Apache und Django auf zwei separaten Ports ausführen.

Dann können Sie mit von der aktuellen Django-Site auf die neue Site umleiten HttpResponseRedirect.

1406710cookie-checkProbleme in URLs, wenn Django in einem Unterverzeichnis ausgeführt wird, oder sagen Sie Sub-URL

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy