Symfony2-app_dev 的 Apache vhost 不同端口

Symfony2-app_dev 的 Apache vhost 不同端口

由于我使用 URL 重写来访问我的 Symfony2 应用程序,因此可以直接从

http://my_application.my_domain.net

现在我希望能够使用不同的端口访问开发环境,例如:

http://my_application.my_domain.net:8081

答案1

如果你不想使用

http://my_application.my_domain.net/index_dev.php

它的作用几乎相同,解决方案如下:


允许你的外部 IP 后my_application/web/app_dev.php

// ...
if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array(
        'xxx.xxx.xxx.xxx', // <- your IP
        // ...
    ))
) {
// ...

配置/etc/apache2/ports.conf告诉 Apache 监听附加端口

#...
NameVirtualHost *:80
Listen 80
NameVirtualHost *:8081
Listen 8081
#...

只需复制应用程序虚拟主机(如果您正在使用)

$ sudo cp /etc/apache2/sites-available/my_application \
          /etc/apache2/sites-available/my_application_dev

并更改 URL 重写器指向的文件

<VirtualHost *:8081>
    ServerName my_application.my_domain.net

    DocumentRoot "/var/www/my_application/web"
    <Directory "/var/www/my_application/web/">
        #...
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app_dev.php [QSA,L]
        </IfModule>
    </Directory>
</VirtualHost>

最后激活新的虚拟主机

$ sudo a2ensite my_application_dev
$ sudo service apache2 restart

相关内容