我已将我们的网站更改为 WordPress 多站点。在我的本地主机上,一切都正常工作。但在我们的生产站点上我遇到了一些问题。
正常站点在新设置后可以正常工作 (example.com),但当我创建子域站点 (en.example.com) 时,我收到 500 内部服务器错误。域映射应该没问题。 (我已将通配符指向我们服务器的IP) 子域出现问题。 所以看来我们的主机总是将子域(我无法更改任何内容)定向到子文件夹。例如/www/en。
据我所知,wordpress 多站点需要定向到 wp 安装的根目录才能正常工作。有什么方法可以使其与子文件夹中的 .htaccess 文件一起使用吗?
最佳答案
So it seems so that our host directs subdomains always (I can't change anything) to a subfolder.
/www/en
for example.
除非您有权访问服务器配置,否则无法“修复”1此问题。但是,如果您有权访问服务器配置,则可以更改 DocumentRoot
首先是子域。
1 我所说的“修复”是指在内部重写对父目录的请求(即子域 DocumentRoot 目录上方的一个目录)。在 .htaccess
您无法重写文档根目录之上的请求 - 您只能在虚拟主机或服务器上下文中执行此操作,您可以在其中重写到任意文件系统路径。但是,如前所述,真正的“修复”是更改 DocumentRoot
子域的。
仅能够创建指向主域文档根之外的子目录的子域是相当有限的。
The domain mapping should be fine. (I've directed a wildcard to the ip of our server)
通常,您会在 <VirtualHost>
中执行相同的“通配符”操作容器,以便您的服务器接受对这些“子域”的请求,而无需手动配置每个子域。
ServerAlias *.example.com
或者,您配置默认的虚拟主机或主服务器配置以接受所有主机的所有请求 - 但这意味着您有一个专用服务器(即完全访问权限),而您似乎没有。
关于Wordpress Multisite - 使用 .htaccess 将子域重定向到根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67074306/