2011-08-08 148 views
1

由於網絡中一個名爲'blog'的網站的要求,我必須使用子域而不是子文件夾。 WordPress不允許使用名爲'blog'的子文件夾。本地主機上的Wordpress子域

無論如何,所以我加了這些變化在我的hosts文件:

  • 127.0.0.1 site1.localhost
  • 127.0.0.1 site2.localhost
  • 127.0.0.1 blog.localhost

然後我去了我的httpd.conf文件,併爲本地主機的每個單獨子域添加了設置:

對於網站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); 

但是,在我得到這個消息的過程的結束:

因爲你正在使用本地主機,您的WordPress網絡中的網站必須使用子目錄。如果您希望使用子域,請考慮使用localhost.localdomain。

那我該怎麼做才能獲得子域名?

非常感謝你的幫助。謝謝!

回答

1

首先,*是通配符。基本上,你告訴Apache在所有指向服務器的IP上監聽端口80。對於本地主機,沒什麼大不了的。但是,如果您有多個IP指向一臺主機,您可以使用的IP代替VirtualHost聲明中的IP。

IE:

NameVirtualHost 123.4.5.6:80 
<VirtualHost 123.4.5.6:80> 
    ... 

現在到的錯誤消息。基本上,WordPress看到「本地主機」,並假設您在本地進行測試,並且不會設置子域名。我的建議是使用不同的主機並設置你的系統以適當的行動(基本上,localhost不能有子域名,除非你以特定的方式開始)。

所以改爲使用site1.local,site2.local,blog.local等。然後改變你的主機文件和httpd.conf文件相同(用代替localhost)。

+0

這是否意味着我必須重新安裝Wordpress以符合我的新「本地」? 如果我沒有弄錯,我更改我的主機文件以讀取本地文件,然後在conf文件中添加site1.local等。它是否正確? 或者作爲替代方案呢?我使用子文件夾並使用單詞'blogs'而不是'blog',但在將網站轉移到網站主機時,我使用了子域名,以便我再次使用'blog'。這會工作嗎? – Ganesh

+0

儘量避免在子域和子文件夾之間切換。完全切換WP以使用其中一個或另一個需要很多工作,所以選擇一個並堅持下去。 – EAMann