Apache VirtualHost被忽略

时间:2016-04-16 00:28:17

标签: php apache .htaccess symfony virtualhost

我有一个在apache上运行的网络应用程序,通常没有任何问题。问题是,现在我尝试为同一个应用添加新域名,但我无法正常使用

我已经为我的新域名和子域名添加了两个新的ServerAlias,但由于某种原因它似乎被忽略了。当我在浏览器上输入域名时,收到错误404.

以下是我的" sites-available / olddomain.com.conf ":

<VirtualHost *:80>
    ServerName olddomain.com
    ServerAlias *.olddomain.com
    ServerAlias newdomain.com
    ServerAlias *.newdomain.com

    DocumentRoot /var/www/MakePress/MakePress/web
    <Directory /var/www/MakePress/MakePress/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On

            RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
            RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]

        </IfModule>
    </Directory>

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined 
</VirtualHost>

我还试图将ServerName和ServerAlias更改为新域,如下所示:

ServerName newdomain.com
ServerAlias *.newdomain.com

但奇怪的是,即使没有在.conf文件中输入, newdomain.com 也无法正常工作, olddomain.com 仍能正常工作。另一方面,我尝试使用a2dissite删除 sites-available / olddomain.com.conf ,并且两个域都停止了工作(两者都开始显示&#34;应用程序的索引/&#34; - 只显示www文件夹中的文件夹和文件 - 并且没有显示错误404)

每次修改后,我都会执行service apache2 reloadapache2 restart

我一直试图解决这个问题几个小时。任何帮助将不胜感激!! : - (

谢谢!

PS:识别问题是否重要,我的网站是PHP / Symfony 2.3应用程序。

PS2:这是apache2ctl -S的输出:

VirtualHost configuration:
*:80                   olddomain.com (/etc/apache2/sites-enabled/olddomain.com.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

1 个答案:

答案 0 :(得分:0)

感谢您的帮助,

事实证明这是Symfony配置的问题。

parameters.yml 上的参数basehost设置为 olddomain.com ,因此应用程序未接受我的 newdomain.com