使用Apache在同一域上托管两个Web应用程序

时间:2018-07-13 13:43:35

标签: php apache .htaccess symfony routing

这可能很奇怪,但是我需要为两个不同的应用程序设置一个域,一个是使用Symfony3构建的,而另一个是使用Wordpress构建的。两个网站都在同一台服务器上。

www.example.com-> wordpress

www.example.com/custom-slug-> symfony3

是否可以使用Apache2实现这一目标?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用Alias指令将与模式/ custom-slug / *匹配的所有请求映射到Symfony应用程序。所有其他URL将通过wordpress提供。

示例虚拟主机:

<VirtualHost *:80>
        ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /your_web_root/www_example_com/wordpress/

        # All URLs begining with /custom-slug will be fetched from the symfony app
        Alias "/custom-slug" "/your_web_root/www_example_com/symfonyApp/web/"

        <Directory /your_web_root/www_example_com/wordpress/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        <Directory /your_web_root/www_example_com/symfonyApp/web/>
                AllowOverride None
                Order Allow,Deny
                Allow from All

                <IfModule mod_rewrite.c>
                    Options -MultiViews
                    RewriteEngine On
                    RewriteCond %{REQUEST_FILENAME} !-f
                    RewriteRule ^(.*)$ app.php [QSA,L]
                </IfModule>
           </Directory>

</VirtualHost>