Regex 重定向URL:将特定文件夹重定向到子域

Regex 重定向URL:将特定文件夹重定向到子域,regex,Regex,我正在尝试在.htaccess中设置301重定向 “dir”是一个设置值,因此它不是任何目录,而是仅指定的目录。这是我的-- 我猜您的问题是您试图将HTTP\u POST条件设置为包括subdir在内的完整主机HTTP_POST将仅包含主机,在本例中,主机为www\.domain\.com 您可以这样做: RewriteEngine On RewriteCond %{HTTP_POST} ^www\.domain\.com$ [NC] RewriteRule ^/dir/(.*) http:/

我正在尝试在.htaccess中设置301重定向

“dir”是一个设置值,因此它不是任何目录,而是仅指定的目录。这是我的--


我猜您的问题是您试图将
HTTP\u POST
条件设置为包括subdir在内的完整主机
HTTP_POST
将仅包含主机,在本例中,主机为
www\.domain\.com

您可以这样做:

RewriteEngine On 
RewriteCond %{HTTP_POST} ^www\.domain\.com$ [NC]
RewriteRule ^/dir/(.*) http://dir.domain.com/$1 [L,R=301]

HTTP_POST不是有效的选择。您甚至可以使其更加健壮,但这应该通过两个条件将其限制到特定的域。一个用于主机标题,另一个用于子文件夹

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteCond %{REQUEST_URI} ^/dir/$ [NC] 
RewriteRule ^.*$ http://dir.domain.com/ [L,R=301]

您正在尝试从虚拟目录重定向到等效的子域名吗?不,在本例中,该目录是一个实际的目录,不适用于我。如果我访问www.domain.com/dir,它仍然在那里,后面的斜杠是behing/dir。只需使用^/dir(.*)即可。
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteCond %{REQUEST_URI} ^/dir/$ [NC] 
RewriteRule ^.*$ http://dir.domain.com/ [L,R=301]