Skip to main content
 首页 » 编程设计

python之在 wordpress 中运行 Django 项目(使用 Apache 和 mod_wsgi 在 wordpress 的 suburl 上)

2024年08月27日34wuhuacong

我想使用 Apache 和 mod_wsgi 在 www.example.com 这样的主 url 上运行我的 wordpress 网站,在 www.example.com/djnago 这样的子 url 上运行 Django .

我试图在我的本地机器上实现它,我在/etc/apache/sites-available 中为 wordpress 和 django 创建了两个单独的 .conf 文件。

另外,两者都工作正常,例如,

在 www.example.com -> wordpress 正在运行

在 www.abc123.com -> Django 正在运行

但是我想在 www.example.com/django 从 wordpress 项目内部运行 django,但它不工作。我所做的如下:

主机文件:

my_system_ip     wptesting.com/django 
my_system_ip     wptesting.com 

/etc/apache/sites-available 中的文件:

对于 wordpress :

<VirtualHost *:80> 
 
ServerName wptesting.com 
ServerAlias wptesting.com 
 
DocumentRoot /path_to/wordpress 
 
<Directory /path_to/wordpress/> 
AllowOverride All 
Order allow,deny 
 
allow from all 
#            Options Indexes FollowSymLinks 
#            Require all granted 
</Directory> 
</VirtualHost> 

对于 Django :

<VirtualHost *:80> 
WSGIScriptAlias / /path_to/wsgi.py$ 
 
ServerName wptesting.com/django 
ServerAlias wptesting.com/django 
 
<Directory /path_to_project/> 
            Options Indexes FollowSymLinks 
            Require all granted 
</Directory> 
</VirtualHost> 

错误: www.wptesting.com 正在运行,但 www.wptesting.com/django 给出了 404 not found 错误 我认为它首先点击 wordpress 项目的 url,然后尝试从 wordpress 项目中定义的 urls 映射 url www.wptesting/django 这就是为什么我得到这个 404 Not Found错误。这意味着 Django 项目在 www.wptesting.com/django 上没有受到攻击

请让我知道哪里出错了,我是否只需要在站点内创建一个 .conf 文件可用?如果是这样,那么我必须做出哪些更改,或者是否还有其他错误?

请您参考如下方法:

"wptesting.com/django"不是服务器名称。 “wptesting.com”是服务器名称,您希望将站点托管在“/django”,这就是您为 WSGIScriptAlias 设置的值。

ServerName wptesting.com 
WSGIScriptAlias /django /path_to/wsgi.py