在特定目录上使用通配符子域

时间:2013-10-17 16:45:21

标签: .htaccess wordpress wildcard-subdomain

我正在设置现有的wordpress安装以使用多站点。我已经成功建立了网络,因为它是一个现有的安装,它使用子域名(我还是想要的)。

我在网络上创建了一个新的网站/子域名,所以它看起来就像这个example.domain.com

我遇到的问题是在我的托管服务提供商BlueHost上设置了通配符子域名。

我正在托管多个域名,所以当我设置一个通配符时,它总是指向根或原始IP地址。

我需要它指向根的特定目录,以便它使用正确的wordpress安装。根/特定目录

有没有办法实现这个目标?我对a和cname问题不太熟悉。如果有办法通过在htaccess中写入也可以实现它。

2 个答案:

答案 0 :(得分:4)

  

我正在托管多个域,因此当我设置通配符时,它总是指向根

我假设您的意思是example.domain.com获得与www.domain.com相同的内容,就像您访问htaccess一样。这肯定可以通过subsite重写规则来处理。

如果要在${DOCUMENT_ROOT}/subsite目录中提供名为.htaccess的子域,您可以将以下规则添加到您的网络/放置的RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^subsite\.domain\.com$ [NC] RewriteCond %{REQUEST_URI} !^/subsite [NC] RewriteRule ^(.*)$ /subsite/$1 [L] 目录:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI}::%1 !^/([^/]+).*?::\1
RewriteRule ^(.*)$ /%1/$1 [L]

如果有多个需要重定向的mutisite子域,请改用以下动态规则:

ServerAlias *.domain.com

您还需要将<VirtualHost>添加到Apache的httpd.conf文件中的httpd.conf配置中。

<小时/> 似乎BlueHost不会直接为您修改{{1}}的任何请求。但是,它们确实提供了一种从控制面板设置通配符子域的方法。

看看How to Set Up a WordPress MultiSite in Bluehost。最后一节概述了屏幕截图的过程。您还需要为子域启用每个站点的主题。

Wildcard Subdomain

答案 1 :(得分:0)

1-您可以将子域添加为插件域,并且可以根据需要添加单独的子目录。
2-实现此目的的另一种方法是使用另一个主机进行子智能。在第二台主机上设置子域,并将子域从主主机指向辅助主机上的子域。