我在现有安装中使用子域安装了 WordPress 网络,以创建我当前站点的英文版本(法语),但在新子域站点上出现 404 错误。如果我通过 ftp 自己创建子域,则浏览器中可以找到子域,但 wordpress 看不到它(如果我理解得没错,wordpress 不需要实际的子域文件夹,因为它会在数据库中创建一个虚拟的子域文件夹)。
我尝试在 WP 论坛上某人的帮助下修改 DNS(https://wordpress.org/support/topic/multi-site-install-original-site-is-fine-500-error-on-the-new-subdomain/) 但目前还没有成功;他建议我在这里试试。问题似乎出在服务器上 (Apache/2.4.10 (Ubuntu)),但我无法访问托管公司的服务器,那里的支持人员说他们也无法访问,我应该修改 htaccess。
我需要设置一个通配符子域名“*”,或者一个名为“en”的子域名,它将转到我安装 wordpress 的文件夹,名为“www”。通配符子域名已在 DNS 中设置,并且应该也在服务器上,但我无法检查(或创建它)。
我应该在 htaccess 中添加什么内容来告诉服务器将所有子域发送到 wordpress 安装?(或者我应该做些其他事情吗?)
目前 htaccess 包含以下内容:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
这些是我当前的 DNS 设置。“bobo”是一个测试子域。 DNS
这是通过 ftp 截取的服务器屏幕截图。根据我的主机的指示,wordpress 安装在 www 文件夹中。 FTP
请告诉我您可能需要的其他信息。
我不是开发人员,但我可以修改 htaccess 并通过 ftp 上传。我只是不知道该在里面写些什么。如果需要,我也可以修改 DNS。我的主机 (online.net) 不使用 CPanel。我可以访问他们网站上的一些管理工具。
任何帮助是极大的赞赏。
答案1
对于 WordPress 多站点,您不希望子域名指向文档根目录之外的子目录 - 这似乎是这里的问题。正如您在问题中所述,您需要子域名指向安装 WordPress 多站点的文档根目录(www 子目录)。
所需的只是* CNAME
DNS 中的条目(根据您链接的信息,该条目似乎已经配置好了)和服务器配置中的通配符条目,其形式如下:
ServerAlias *.example.com
如果没有定义“通配符” ServerAlias
,而您被迫使用映射到文档根目录下同名子目录的子域,那么这似乎就是问题所在。
重申一下我在评论中提到过的内容……您无法使用 FTP 客户端创建子域名。您所做的只是创建一个子目錄. 如果主持人(online.net
)是自动地将(通配符)子域名映射到同名的子目录(脱离文档根目录),那么这对您的主机来说似乎是唯一的。