【问题标题】:How to create multiple virtual hosts with apache2 and zend如何使用 apache2 和 zend 创建多个虚拟主机
【发布时间】:2012-03-10 17:59:16
【问题描述】:

我在 /var/www/zendapp 中创建了 zend 应用程序,但我也安装了 mediawiki 应用程序 在 /var/www/mediawiki

现在我想使用 http://mediawiki.local 访问 mediawiki 应用程序

http://zendapp.local

我该怎么做?

我有几次不成功的尝试。到目前为止,我编辑了 /etc/hosts 并添加了这两行:

127.0.0.1     zendapp.local
127.0.0.1     mediawiki.local

我还在 /etc/apache2/sites-available/ 中创建了两个文件:

zendapp
mediawiki

媒体维基:

<VirtualHost *:80>

    ServerAdmin webmaster@localhost

    ServerName mediawiki.local
    DocumentRoot /var/www/mediawiki
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /var/www/mediawiki>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

zendapp:

ServerName zendapp.local
SetEnv APPLICATION_ENV "development"

DocumentRoot /var/www/zendapp/public

<Directory /var/www/zendapp/public>
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

但现在看来只有 zendapp.local 有效,如果我去: http://mediawiki.local

它将我重定向到http://zendapp.local/mediawiki/index.php/Main_Page

【问题讨论】:

  • 您还需要将 zendapp 包装在 &lt;virtualhost&gt; 部分中
  • 是的,我已经这样做了。我只想让我的帖子简短

标签: zend-framework .htaccess ubuntu virtualhost


【解决方案1】:

看看这个博客,他的回答奏效了!

http://justanswersnobullshit.wordpress.com/

在对如何设置多个虚拟主机的在线视频教程感到沮丧之后,我自己尝试了这一点

【讨论】:

    【解决方案2】:
    1. 您不会不小心忘记包含此站点吗?也就是说,在 'sites-enabled' 目录中应该有适当的引用。通常你应该运行以下命令:

      sudo a2ensite 主机名

      sudo 服务 apache2 重新加载

    2. 作为第二种变体,我可以假设,'DocumentRoot' 应该以斜杠结尾:

      DocumentRoot /var/www/zendapp/public/

    【讨论】:

      【解决方案3】:

      这样做:分离虚拟主机块:

       Listen 80
       NameVirtualHost *:80
      
       <VirtualHost *:80>
      
        ServerName mediawiki.local
        DocumentRoot /var/www/mediawiki
      
        #all other settings
        .
        .
        .
       </VirtualHost>
      
       <VirtualHost *:80>
      
        ServerName zendapp.local 
        DocumentRoot /var/www/zendapp/public
      
        #all other settings
        .
        .
        .
      
       </VirtualHost>
      

      【讨论】:

      • 我将它们放在两个文件中,zendapp 和 mediawiki。然后我在 apache2/sites-enabled 中启用了它们。但什么都没有改变。似乎 zendapp htaccess 总是覆盖每个请求。 apache2默认站点做了这么多改动后,原来的应该是什么样子的?
      • @MilošIlić 如果您已完成上述操作,但仍然无法正常工作。并且有问题 .htaccess 发布您的重写规则。
      • DirectoryIndex index.php
        RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] Header unset Cache-Control Header unset Pragma Header unset Expires
      • @MilošIlić 这些NameVirtualHost *:80 Listen 80 在场吗?
      • 不, NameVirtualHost * 80 Listen 80 没有出现,只是 。这是强制性的吗?
      猜你喜欢
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2023-03-04
      • 2015-10-06
      • 2014-05-14
      • 2019-01-01
      相关资源
      最近更新 更多