我早些时候看到了你的帖子,希望有更多了解多站点的人能回答。如果没有这样的回答,希望我有限的知识也能做到。域映射类似于域别名。底层foobar.example.com域仍在内部使用。它不可用于其他用途。AFAIK任何foobar.example.com请求都将重定向到映射的“alias”foobar.com。
我建议做一些简单的测试来确认我认为是真的。如果要测试localhost安装,可以通过将未注册的域名添加到计算机的hosts文件并将其映射到127.0.0.1来对其进行使用。
螺纹起动器
亨利·怀特
(@henrywright)
嗨@bcworkz公司
你的想法是基于wordpress.com的行为吗?我在wordpress.com博客上做了一些测试。在本例中,foobar.example.com地址似乎重定向到了example.com地址。他们一定实现了一些自定义的东西,因为这在wordpress.org自托管安装中不会发生。
在wordpress.org安装中,当博客的域映射处于活动状态时,foorbar.example.com地址似乎不再存在。例如,如果您为foobar.example.com和example.com启用域映射,然后尝试将foobar.exe作为新用户注册,则注册成功
螺纹起动器
亨利·怀特
(@henrywright)
抱歉,在wordpress.org安装中,当我尝试将foobar.example.com注册为新用户时,实际上收到了“对不起,该网站已被保留!”。
螺纹起动器
亨利·怀特
(@henrywright)
我实际上认为“对不起,那个网站被保留了”是一个错误。显示此文本的条件是用户名存在($blogname)
这是一个明确的错误,因为用户名存在()
应该接受用户名,而不是博客名
螺纹起动器
亨利·怀特
(@henrywright)
我真的不太了解wordpress.com的行为。我主要是从我以前的多站点安装中获取内存。即使在映射域之后,子域似乎没有被使用,但它仍然在内部用于跟踪请求的子站点。这是另一个用户不能使用同一子域的一个重要原因。
虽然由此产生的错误消息可能具有误导性和不准确性,但要点仍然是您无法使用提供的数据注册网站。我对这是否值得改进没有强烈的意见。我会让你在Trac那边决定。我不想插手🙂
螺纹起动器
亨利·怀特
(@henrywright)
说得好!
它实际上变得更有趣了。下面是一个示例:
假设foobar.example.com>foobar.com的域映射处于活动状态。
现在,如果有一个用户名为foobar的用户,那么子域foobar.example.com不是可注册。但是,如果没有用户名为foobar的用户,则子域foobar.example.com是可注册。
顺便说一下,这是wordpress.org的。wordpress.com可能会采取不同的做法。我也不熟悉wordpress.com。
如果是这样的话,我对WP内部工作的概念是错误的。再仔细想想,这不是WP用来内部路由请求的子域,而是关联的“虚拟子文件夹”。甚至子域也是一种别名。子域和映射域都被分配到一个虚拟子文件夹来处理内部路由。保留的是子文件夹名称,而不是子域。WP的核心始终是基于子文件夹的。子域只是覆盖在上面的。
虚拟子文件夹名称通常采用指定子域的名称。如果该名称已被另一个子网站保留,我想WP会自动添加该名称,例如/foobar-2/。在子域安装中,没有人会看到此虚拟子文件夹。当有人碰巧创建了同名的实际服务器文件夹时,这会导致问题。然后所有的请求都被发送到那里,WP甚至从来没有看到过。如果我造成了任何混乱,很抱歉。
螺纹起动器
亨利·怀特
(@henrywright)
感谢您对此的帮助,并感谢您解释虚拟文件夹部分。当你开始使用多站点时,它可能是一条陡峭的学习曲线,并且通过像这样的对话逐渐变得有意义🙂