价值未传递至$ 1 - .htaccess

时间:2012-02-14 08:51:16

标签: linux .htaccess

RewriteCond %{HTTP_HOST} !^www\.Domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.Domain\.com$
RewriteRule ^$ http://Domain.com/FolderName/$1 [L]

当我输入SubDomain.DomainsName.com时,它会被重定向到DomainName.com/FolderName,但我希望它为DomainName.com/FolderName/SubDomain

SubDomain未传递给$ 1,任何想法都是为什么。

1 个答案:

答案 0 :(得分:3)

只有一个错误$1必须是%1

来自:RewriteCond Apache Docs

  
      
  • RewriteRule反向引用:这些是$ N(0 <= N <= 9)形式的反向引用,它提供对作为主题的RewriteRule的模式的分组部分(括号中)的访问到当前的RewriteCond条件集。

  •   
  • RewriteCond反向引用:这些是%N(1 <= N <= 9)形式的反向引用,它提供对模式的分组部分(再次,在括号中)的访问,从最后匹配RewriteCond在当前条件下。

  •   
RewriteCond %{HTTP_HOST} !^www\.Domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.Domain\.com$
RewriteRule ^ http://Domain.com/FolderName/%1 [L]