我知道有很多关于此问题的文档,但我的问题不同。
我有一个 2 个网站(子域)在一台 apache2 服务器上运行。
站点 1 运行正常,站点 2 以某种方式链接到 apache2 目录 /var/www
因此当我进入第 1 页时,我会看到我的页面。第 2 页显示了 Apache2 文本:
成功了!这是此服务器的默认网页。Web 服务器软件正在运行,但尚未添加任何内容。
因此某个地方的链接设置有错误。
apache2 是否只监听启用了站点的页面,或者还有其他内容?
因为在已启用站点上我只有这 2 个页面而没有 1 个链接,所以/var/www
我是否也必须在其他地方设置不同的主机名?
提前致谢。
这个不起作用:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/notworking/
ServerName notworking.working.de
RewriteEngine on
<Directory /var/www/notworking/>
RailsBaseURI /notworking
PassengerResolveSymlinksInDocumentRoot on
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
这个正在发挥作用
<VirtualHost *:80>
ServerName working.working1.de
DocumentRoot /data/working/www/
<Directory /data/working/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案1
我有 2 个网站(子域名)
ServerName working.working1.de
<- 工作
ServerName xxx.xxxx.de
<- 不工作
不起作用的实际上是子域名吗?我的意思是,既然你没有发布 URL 的布局,你应该检查它是否是实际的子域名。
working1.de
假设您拥有与工作站点配置相同的域名,那么您不起作用的子域名应该是这样的somesite.working1.de
/etc/apache2/sites-enabled
Apache从可用站点池 ( ) 中为已启用的站点 ( ) 提供服务,/etc/apache2/sites-available
其中实际为符号链接。
当您发出一个从到 的符号链接时a2ensite mysite_config
,就会创建该符号链接。sites-available
sites-enabled
...这是默认的站点配置,带有“它起作用了!...”的配置,默认情况下启用它。您应该禁用此功能并保留该文件作为将来站点配置的参考。
编辑
作为参考,这里是托管两个子域名(广告 domain.de)的虚拟主机配置示例:
<VirtualHost *:80>
DocumentRoot /var/www/myrailsapp/public
ServerName rails.domain.de
<Directory /var/www/myrailsapp/public>
AllowOverride all
Options -MultiViews
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/mysite
ServerName another.domain.de
<Directory /var/www/mysite>
AllowOverride all
Options -MultiViews
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案2
尝试:
DocumentRoot /var/www/mysite
ServerName another.domain.de
ServerAlias another.domain.de
<Directory /var/www/mysite>
AllowOverride all
Options -MultiViews
Order allow,deny
allow from all
</Directory>
DocumentRoot /var/www/myrailsapp/public
ServerName rails.domain.de
ServerAlias rails.domain.de
<Directory /var/www/myrailsapp/public>
AllowOverride all
Options -MultiViews
Order allow,deny
allow from all
</Directory>
还要将这些主机添加到你的 apache 服务器配置的 /etc/hosts 中(澄清一下:将这些添加到运行 apache 的服务器上的“hosts”文件中)