由于网络中需要一个名为“博客”的网站,我不得不使用子域而不是子文件夹。 WordPress不允许使用名为“blog”的子文件夹。
无论如何,我在主持人文件中添加了这些更改:
然后我转到我的httpd.conf文件并添加了localhost的每个子域的设置:
对于网站1:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
ServerAlias site1.localhost
DocumentRoot "..\htdocs\wordpress\site1"
DirectoryIndex index.php index.html index.html index.htm index.shtml
</VirtualHost>
对于site2和博客等等。我有点不确定在那里使用*。我觉得还有别的东西。 :/
我继续在我的wp-config文件中激活多站点:
define('WP_ALLOW_MULTISITE', true);
但是,在这个过程结束时,我收到了这条消息:
由于您使用的是localhost,因此WordPress网络中的网站必须使用子目录。如果您希望使用子域,请考虑使用localhost.localdomain。
我该怎样做才能获得子域?
非常感谢您的帮助。谢谢!
答案 0 :(得分:1)
首先,*
是通配符。基本上,你告诉Apache在服务器指向的所有IP上侦听端口80。对于localhost,没什么大不了的。但是,如果您有多个IP指向主机,那么您将用*
声明中的VirtualHost
替换IP。
IE:
NameVirtualHost 123.4.5.6:80
<VirtualHost 123.4.5.6:80>
...
现在转到错误消息。基本上,WordPress看到“localhost”并假设您在本地进行测试,并且不会设置子域。我的建议是使用不同的主机并设置您的系统以采取适当的行动(基本上,localhost
不能有子域,除非您以特定的方式设置开始)。
相反,请使用site1.local
,site2.local
,blog.local
等。然后更改您的hosts文件和httpd.conf文件(在您使用local
的任何地方替换localhost
)。