如何在/ blog上创建一个由Apache服务的Flask网站和WordPress博客?

时间:2019-01-05 13:52:56

标签: php python wordpress flask

我意识到已经有多个类似的问题,但是我似乎找不到一个明确的答案,我该做些什么:

我有一个DigitalOcean小滴,用于Flask应用程序。我现在想在/ blog上有一个WordPress博客。我经历了DigitalOcean's WordPress setup instructions,但我没有提供有关如何修改Apache .conf文件以指向WordPress index.php文件的说明。

我尝试将Alias添加到我的.conf文件中,但是它不起作用。当我现在转到/blog时,我看到默认的Apache“它有效!”页。但是,如果我转到www.rhymecraft.guru/blog/wp-admin,则会加载管理控制台。

Apache .conf文件

(请注意,我已将WordPress安装到/var/www/html中。)

WSGIDaemonProcess rhymecraft.guru processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup rhymecraft.guru

<VirtualHost *:80>
        ServerName www.rhymecraft.guru
        ServerAlias rhymecraft.guru
        ServerAdmin xxxx@gmail.com

        Alias /blog /var/www/html
        WSGIScriptAlias / /var/www/rhymecraft/server/rhymecraft.wsgi

        DocumentRoot /var/www/rhymecraft/server

        Alias /robots.txt /var/www/rhymecraft/server/robots.txt
        Alias /favicon.ico /var/www/rhymecraft/server/robots.txt

        <Directory /var/www/rhymecraft/server>
            Order allow,deny
            Allow from all
        </Directory>

        Alias /static /var/www/rhymecraft/server/static     

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.rhymecraft.guru [OR]
RewriteCond %{SERVER_NAME} =rhymecraft.guru
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
                ServerName www.rhymecraft.guru
                ServerAlias rhymecraft.guru
                ServerAdmin xxxx@gmail.com

                Alias /blog /var/www/html
                WSGIScriptAlias / /var/www/rhymecraft/server/rhymecraft.wsgi

                DocumentRoot /var/www/rhymecraft/server

                Alias /robots.txt /var/www/rhymecraft/server/robots.txt
                Alias /favicon.ico /var/www/rhymecraft/server/robots.txt

                <Directory /var/www/rhymecraft/server>
                        Order allow,deny
                        Allow from all
                </Directory>

                Alias /static /var/www/rhymecraft/server/static

                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/rhymecraft.guru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/rhymecraft.guru/privkey.pem
</VirtualHost>

相关问题以及为什么他们没有回答我的问题

1 个答案:

答案 0 :(得分:0)

我知道了。

我需要做的两件事:

  1. 我需要在两个 VirtualHost条目中都包含行Alias /blog /var/www/html。最初,我只将其放在端口80(普通HTTP流量)条目中,却忘记了将其放在端口443(HTTPS流量)条目中。
    • 请注意,如果您使用的是HTTPS,则只有这两个VirtualHost记录。我正在使用Cloudflare,并强制所有对网站的请求都使用HTTPS,因此我忘记将Alias记录添加到端口443 VirtualHost记录这一事实足以使它似乎无法正常工作。
  2. 我需要删除index.html目录中的默认Apache /var/www/html文件。
    • 相对于WordPress已添加到目录中的index.php文件,Apache更倾向于使用该文件。