![Apache2 vHost 问题:子域无法正常工作](https://linux22.com/image/66919/Apache2%20vHost%20%E9%97%AE%E9%A2%98%EF%BC%9A%E5%AD%90%E5%9F%9F%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
第一:我对 Linux/Apache 还很陌生
我的问题:我试图通过子域forum.lumix-transporte.de 访问我的论坛。通常您可以通过 lumix-transporte.de/forum 访问它。
我的forum.conf文件:
<VirtualHost *:80>
ServerName forum.lumix-transporte.de
ServerAdmin [email protected]
DocumentRoot /var/www/forum
<Directory /var/www/forum>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>
当我尝试使用 forum.lumix-transporte.de 访问论坛时,我被重定向到 lumix-transporte.de ,因此到默认的 Apache2 页面“它有效!”。该软件的图标也显示在选项卡中。
/etc/apache2/sites-available 中的默认文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
执行 jacek.ciach 3 建议的 2 个命令后:
root@lumix-transporte:/etc/apache2# grep -R Redirect *
root@lumix-transporte:/etc/apache2# grep -R lumix-transporte.de *
sites-available/default: ServerName lumix-transporte.de
sites-available/forum.conf: ServerName forum.lumix-transporte.de
sites-available/forum.conf: ServerAdmin [email protected]
sites-enabled/forum.conf: ServerName forum.lumix-transporte.de
sites-enabled/forum.conf: ServerAdmin [email protected]
sites-enabled/000-default: ServerName lumix-transporte.de
//通过数据库wcf中的phpmyadmin更改表wcf1_application并将域名路径从/forum更改为/并将域名从lumix-transporte.de更改为forum.lumix-transporte.de后,它终于可以工作了。谢谢jacek.ciach 说这可能是论坛本身造成的。在谷歌搜索更多内容后我发现了这一点。
答案1
第一个解决方案
*.conf
另请检查文件的处理顺序。
如果.conf
for*.lumix-transporte.de
是 ,,run'' 之前forum.conf
并且有某种重定向指令,那么forum.conf
甚至永远不会被处理。
因此,您可以更改顺序(例如通过更改forum.conf
to的名称000-forum.conf
),或者,在我看来更好的是,以这样的方式修改.conf
for *.lumix-transporte.de
,使其不会与forum.conf
(查看ServerName
andServerAlias
通配符并检查可能会发生冲突的指令)导致重定向)。
第二种解决方案
因为default
没有ServerName
,所以当Apachedefault
之前处理时forum.conf
,它会将下面的网站发送到客户端/var/www
。
添加ServerName lumix-transporte.de
(在<VirtualHost>
) 中default
并重新启动 Apache。
第三种解决方案
看起来,论坛本身导致了重定向。 (http://forum.lumix-transporte.de/
用 ie检查响应头http://web-sniffer.net/
,你会看到......)。
答案2
看看DirectoryIndex
Apache 的指令。您的论坛可能使用与默认不同的东西index.html
。