我想使用 Apache 和 mod_wsgi 在 www.example.com 等主网址上运行我的 WordPress 网站,并在 www.example.com/djnago 等子网址上运行 Django .
我正在尝试在本地计算机上实现此功能,我在/etc/apache/sites 中创建了两个单独的 .conf 文件,可用于 wordpress 和 django。
另外,两者都工作正常,例如
在 www.example.com -> wordpress 正在运行
在 www.abc123.com -> Django 正在工作
但是我想从 WordPress 项目内部运行 www.example.com/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 未找到错误 我认为它首先命中 wordpress 项目的 url,然后尝试从 wordpress 项目中定义的 url 映射 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
关于python - 在 WordPress 中运行 Django 项目(使用 Apache 和 mod_wsgi 在 WordPress 的子 URL 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26013379/