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

Ant*_*sso 2 wordpress .htaccess wildcard-subdomain

我正在设置现有的wordpress安装以使用多站点。我已经成功设置了网络,并且由于它是现有安装,因此它使用子域(无论如何我都想要)。

我在网络上创建了一个新的站点/子域,因此它看起来像这个example.domain.com

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

我托管多个域,因此当我设置通配符时,它总是指向根或原始IP地址。

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

有没有办法做到这一点?我对a和cname问题不太熟悉。如果有一种方法可以通过写入htaccess来实现,那也可以。

Rav*_*yal 6

我托管多个域,所以当我设置通配符时,它总是指向根

我假设您的意思是example.domain.com您所访问的内容与访问时相同www.domain.com。当然,可以通过htaccess重写规则来处理。

如果subsite要在${DOCUMENT_ROOT}/subsite目录外提供名为的子域,则应.htaccess在Web根/目录中添加以下规则:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^subsite\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subsite [NC]
RewriteRule ^(.*)$ /subsite/$1 [L]
Run Code Online (Sandbox Code Playgroud)

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

RewriteEngine on
RewriteBase /

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

您还需要添加ServerAlias *.domain.com到您的<VirtualHost>配置Apache的httpd.conf文件。


看来BlueHost不会接受任何httpd.conf直接为您修改的请求。但是,它们确实提供了一种从其控制面板设置通配符子域的方法。

看看如何在Bluehost中设置WordPress MultiSite。最后一部分概述了屏幕截图的过程。您还需要为您的子域启用每个站点的主题。

通配符子域