我有一个在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 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
答案 0 :(得分:0)
感谢您的帮助,
事实证明这是Symfony配置的问题。
parameters.yml 上的参数basehost
设置为 olddomain.com ,因此应用程序未接受我的 newdomain.com 强>