在同一 IP apache2 配置下有 2 个网站吗?

在同一 IP apache2 配置下有 2 个网站吗?

我知道有很多关于此问题的文档,但我的问题不同。

我有一个 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-enabledApache从可用站点池 ( ) 中为已启用的站点 ( ) 提供服务,/etc/apache2/sites-available其中实际为符号链接。

当您发出一个从到 的符号链接时a2ensite mysite_config,就会创建该符号链接。sites-availablesites-enabled

...这是默认的站点配置,带有“它起作用了!...”的配置,默认情况下启用它。您应该禁用此功能并保留该文件作为将来站点配置的参考。

编辑

作为参考,这里是托管两个子域名(广告 domain.de)的虚拟主机配置示例:

可访问http://rails.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>

可访问http://another.domain.de

<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”文件中)

相关内容