由于我使用 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