我有一个web应用程序在apache上正常运行,没有任何问题。问题是现在我正试图为同一应用程序添加一个新域,但我无法使其正常工作。
我在我的新域和子域中添加了两个新的ServerAlias,但由于某种原因,它似乎被忽略了。当我在浏览器上输入域时,我会收到一个错误404。
以下是我的"可用站点/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
但奇怪的是,newdomain.com一直不工作,而olddomain.com即使在.conf文件中没有条目,也能正常工作。另一方面,我试图用a2dissite
删除可用的站点/olddomain.com.conf,但两个域都停止了工作(都开始显示应用程序的"索引/"-只显示www文件夹中的文件夹和文件-没有显示错误404)
在每次修改之后,我执行service apache2 reload
和apache2 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
感谢你们的帮助,
事实证明这是Symfony配置的问题。
我的parameters.yml上的参数basehost
被设置为olddomain.com,因此应用程序不接受我的
newdomain.com.