【问题标题】:Apache VirtualHost confusion when using alias使用别名时的 Apache VirtualHost 混淆
【发布时间】:2018-05-22 15:17:54
【问题描述】:

所以我有一个如下所示的设置:

www.mydomain.com - 运行复杂的多站点 Wordpress 安装 www.mydomain.com/othersite - 由于各种原因,这需要运行完全独立的 Wordpress 安装,但由于历史原因,URL 必须采用这种格式。

我希望 WP 的“其他站点”安装不必位于主多站点安装的目录中,例如 /var/www/main-多站点 /var/www/othersite 而不是 /var/www/main-multisite/othersite

我的理解是我无法为其他站点创建单独的虚拟主机,所以我在主虚拟主机中创建了一个别名:

Alias /othersite /var/www/othersite

但是,这样做时,/var/www/othersite 中的 .htaccess 文件似乎被忽略了 - 我首先注意到这一点,因为 Wordpress 中的永久链接不起作用。我尝试将其他指令添加到 .htaccess 中,但没有任何作用……所以我将乱码放入 .htaccess 以尝试引发错误……但这并没有发生。所以这证实了我认为 .htaccess 被忽略了。

但是,如果我从虚拟主机中删除别名,然后移动一些东西,我们就有了

/var/www/main-multisite/other

一切正常,文件夹中的 .htaccess 也正常!但这不是我想要的。

谁能帮我解释一下我在这里遗漏了什么?

提前致谢。

【问题讨论】:

  • 您是否在 apache 配置中添加了 块并将 AllowOverride 设置为 all?
  • 不!现在调查这些...谢谢。
  • 这是实际路径。
  • AllowOverride All 已插入并且看起来可以正常工作 - 非常感谢!还有什么我应该添加到目录块的东西吗?
  • 如果您允许公开访问,您可能还需要设置Order allow,denyAllow from all

标签: wordpress apache .htaccess virtualhost virtual-hosts


【解决方案1】:

设置Alias 后,您应该设置要应用于目录的指令组。您应该在 apache 配置中添加 <Directory> 指令。默认配置 AllowOverride None 将完全忽略目录上的 .htaccess。您还应该检查documentation 关于<Directory> 指令的信息。

<Directory "/var/www/othersite">
    Options FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-04
    • 2016-03-27
    • 2014-05-30
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2022-12-17
    • 2010-11-24
    相关资源
    最近更新 更多