【问题标题】:Wordpress Multisite - Redirect Subdomain to root with .htaccessWordpress Multisite - 使用 .htaccess 将子域重定向到根目录
【发布时间】:2021-07-08 11:22:48
【问题描述】:
我已将我们的网站更改为 wordpress 多站点。在我的本地主机上,一切正常。但是在我们的生产站点上我遇到了一些问题。
正常站点在新设置 (example.com) 后可以正常工作,但是当我创建子域站点 (en.example.com) 时,我收到 500 内部服务器错误。域映射应该没问题。 (我已将通配符定向到我们服务器的 ip)
子域出现问题。 看来我们的主机总是将子域(我无法更改任何内容)指向子文件夹。 /www/en 例如。
据我所知,需要将 wordpress 多站点定向到 wp 安装的根目录才能使其正常工作。有什么方法可以使用子文件夹中的 .htaccess 文件?
【问题讨论】:
标签:
wordpress
.htaccess
dns
multisite
wildcard-subdomain
【解决方案1】:
看来我们的主机总是将子域(我无法更改任何内容)指向子文件夹。以/www/en 为例。
除非您有权访问服务器配置,否则您无法“修复”1。但是,如果您有权访问服务器配置,则可以更改子域的 DocumentRoot 开头。
1 “修复”是指在内部将请求重写到父目录(即子域 DocumentRoot 目录之上的一个目录)。在.htaccess 中,您无法在文档根目录上方重写请求 - 您只能在 virtualhost 或 server 上下文中执行此操作,您可以在其中重写到任意文件系统小路。但是,如前所述,真正的“修复”是更改子域的DocumentRoot。
仅能够创建指向主域文档根目录之外的子目录的子域是相当有限的。
域映射应该没问题。 (我已将通配符指向我们服务器的 ip)
通常,您会在 <VirtualHost> 容器中执行相同的“通配符”操作,以便您的服务器接受对这些“子域”的请求,而无需手动配置每个子域。
ServerAlias *.example.com
或者,您将默认 vHost 或主服务器配置配置为接受所有主机的所有请求 - 但这意味着您有一个专用服务器(即完全访问权限),而您似乎没有。