在子目录中运行Django或者说在nortl中的URL中的问题

Inf*_*ian 10 python apache wordpress mod-wsgi django-urls

我试图在WordPress中运行Django,如主网址www.wptesting.com上的 WordPress 和郊区www.wptesting.com/django上的 Django .Django主根网址在www.wptesting.com/django正常工作, 但其郊区,例如,管理员无法工作,因为它应该是www.wptesting.com/django/admin.但是,每当我尝试请求管理员网址时,它都会转换为www.wptesting.comhttp%3a // wptesting.com/django/admin

我用Apache和运行WordPress和Django mod_wsgi,我的apache文件如下:

<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>
Run Code Online (Sandbox Code Playgroud)

我之前问了一个关于使用Apache和wsgi从WordPress的子目录配置Django 的问题 - > 你可以在这里看到问题

另外,如果我试图访问任何网址这是不是在Django项目则给予标准的404未找到错误,但是当我试图访问任何有效的URL如admin这是给上述错误不在话下.

编辑: 我的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'),

)
Run Code Online (Sandbox Code Playgroud)

lew*_*ika -2

首先,Django 和 apache 作为后端 Web 服务器运行。因此,您可以通过在两个单独的端口上运行 apache 和 Django 来解决此问题。

然后,您可以使用 从当前 Django 站点重定向到新站点HttpResponseRedirect