.htaccess Htaccess无法将wildcard.domain.com重定向到domain.com/wildcard

.htaccess Htaccess无法将wildcard.domain.com重定向到domain.com/wildcard,.htaccess,mod-rewrite,url-rewriting,subdomain,wildcard-subdomain,.htaccess,Mod Rewrite,Url Rewriting,Subdomain,Wildcard Subdomain,我的htaccess设置有问题。我的目标是让一个通配符子目录指向适当的文件夹,但不更改URL。我在这里介绍了stackoverflow和其他一些例子。我已经有我的通配符设置在DNS,虚拟主机是好去和修改包。只剩下指向匹配文件夹的htaccess,而无需更改浏览器中的url 其工作原理与我看到的domain.com/example/index.html文件相同(但url在浏览器中从example.domain.com更改为domain.com/example) 重新启动发动机 重写cond%{H

我的htaccess设置有问题。我的目标是让一个通配符子目录指向适当的文件夹,但不更改URL。我在这里介绍了stackoverflow和其他一些例子。我已经有我的通配符设置在DNS,虚拟主机是好去和修改包。只剩下指向匹配文件夹的htaccess,而无需更改浏览器中的url

其工作原理与我看到的domain.com/example/index.html文件相同(但url在浏览器中从example.domain.com更改为domain.com/example)


重新启动发动机
重写cond%{HTTP\u HOST}^(.*)\.example\.com
重写规则^(.*)$http://example.com/%1/$1[L,NC,QSA]
当我把L标志换成p标志,这样url就不会改变。当我这样做并尝试example.domain.com时,url不会按预期更改,但它显示了如果我访问了domain.com而不是/example文件夹中的内容,我会看到什么

以下是我所拥有的:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(.*)\.example\.com
RewriteRule ^(.*)$ http://example.com/%1/$1 [P,NC,QSA]
</IfModule>

重新启动发动机
重写cond%{HTTP\u HOST}^(.*)\.example\.com
重写规则^(.*)$http://example.com/%1/$1[P,NC,QSA]

我做错了什么?

您试图在替换中提供URL,这会导致重定向。尝试按如下方式简单设置配置:

在虚拟主机中 在htaccess中:
您试图在替换中提供URL,这会导致重定向。尝试按如下方式简单设置配置:

在虚拟主机中 在htaccess中:
您的规则看起来不错(假设您的
mod\u proxy
设置正确)。您的站点根目录中是否有其他规则。htaccess?是的,WordPress也在根域中设置,因此我的htaccess文件顶部有一段代码。在这种情况下,请将此规则移到
行上的
重写引擎下方。您的规则看起来很好(假设您正确设置了
mod_proxy
)。您的站点root.htaccess中是否有其他规则?是的,WordPress也在根域中设置,因此我的htaccess文件顶部有一段代码。在这种情况下,请将此规则移到
行上的
重写引擎下方。
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(.*)\.example\.com
RewriteRule ^(.*)$ http://example.com/%1/$1 [P,NC,QSA]
</IfModule>
ServerName example.com
ServerAlias *.example.com

DocumentRoot /path/to/your/doc/root
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$
RewriteCond %{REQUEST_URI} !^/%1 [NC]
# Please confirm whether you need the next line in your rules.
# I should think that it'd be required
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$
RewriteRule ^ /%1%{REQUEST_URI} [L,QSA]