J'utilise la réécriture d'URL pour accéder à mon application Symfony2. Elle est directement disponible à l'adresse
http://my_application.my_domain.net
Maintenant, j'aimerais pouvoir accéder à l'environnement de développement en utilisant simplement un autre port tel que:
http://my_application.my_domain.net:8081
Si vous ne voulez pas utiliser
http://my_application.my_domain.net/index_dev.php
Cela fait à peu près le même travail, voici la solution:
Après avoir autorisé votre IP externe à 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
// ...
))
) {
// ...
Configuré /etc/Apache2/ports.conf
pour indiquer à Apache d'écouter le port supplémentaire
#...
NameVirtualHost *:80
Listen 80
NameVirtualHost *:8081
Listen 8081
#...
Doublez simplement les applications vhost (si vous en utilisez une)
$ Sudo cp /etc/Apache2/sites-available/my_application \
/etc/Apache2/sites-available/my_application_dev
et changer le fichier pointé par le réécriteur d'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>
Enfin, activez le nouveau vhost
$ Sudo a2ensite my_application_dev
$ Sudo service Apache2 restart