我想使用 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
