php - 如何结合 Prestashop (PHP) 和 DjangoCMS (Python)

标签 php python django apache prestashop

我需要使用具有相同 url 的 DjangoCMS 和 prestashop,例如:

localhost/shop = prestashop<br> localhost/everythingElse = DjangoCMS<br>

我的 prestashop 安装在 /var/www/prestashop并且 djangoCMS 安装在 /var/www/djangoCMS 中.

Linux Mint 14 64 位、apache2、mod_python、wsgi...

我试过这个配置:

<VirtualHost *:80>
DocumentRoot "/var/www/djangoCMS"
ServerName localhost
WSGIScriptAlias / "/var/www/djangoCMS/djangoCMS/apache/django.wsgi"
<Directory "/var/www/djangoCMS/djangoCMS/apache">
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
DocumentRoot "/var/www/prestashop"
ServerName php.localhost
<Directory "/var/www/prestashop">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order Deny,Allow
    Allow from all
</Directory>

Django 在本地主机上运行良好,但我无法访问 php.localhost:糟糕!谷歌浏览器找不到 php.localhost

最佳答案

ServerName php.localhost 表示您要告诉 Apache 回答对 http://php.localhost 发出的任何请求为此,您需要添加 php.localhost 以指向服务器 IP 地址(如果是您的本地开发环境,则为 127.0.0.1)

这在生产环境中不起作用。我的建议是使用 ProxyPass,您可以在其中告诉 Apache 将所有调用重定向到特定端口。例如:

<VirtualHost *:9090>
    ServerName localhost
    DocumentRoot /var/www/prestashop
    <Directory "/var/www/prestashop">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/djangoCMS"
    ServerName localhost
    WSGIScriptAlias / "/var/www/djangoCMS/djangoCMS/apache/django.wsgi"
    <Directory "/var/www/djangoCMS/djangoCMS/apache">
        Options +ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

    ProxyPass /shop http://localhost:9090
    ProxyPassReverse /shop http://localhost:9090
</virtualHost>

这样你就可以让 prestashop 在 9090 端口运行,django 在 80 端口运行,并告诉 Apache 将所有调用从 http://localhost/shop 重定向到 http://localhost:9090

关于php - 如何结合 Prestashop (PHP) 和 DjangoCMS (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894743/

相关文章:

javascript - 为什么我的复选框会禁用其他值?

php - 通过 PHP 在 FTP 服务器上检查没有扩展名的文件的文件大小?

php - Zend Forms 电子邮件元素更改为文本

python - Pygame时间控制

django - 如何在模型中赋予初始值

django - ReactJS 和 Django 之间的安全身份验证

python - 没有 virtualenv 无法启动 uWSGI 服务器(ImportError)

php - 空间 NSURL 连接

python - Django (nonrel)、App 引擎和异步数据库调用

python - 在我的 Web 应用程序中为架构做 302 是否可以?