htaccess子域重定向与最后一个url参数

时间:2009-07-15 18:29:48

标签: .htaccess redirect subdomain

我想写一个.htaccess文件,用于将我的子域和URL的最后一个变量重定向到新位置。这就是我想要做的事情:

  

HTTP(S)://abc.example.com/books

我希望我的内部网址如下:

  

http://example.com/?name=abc&type=books

我已经让子域重定向工作,但我无法在URL的最后部分使用变量做子域。

我该如何做到这一点?

2 个答案:

答案 0 :(得分:4)

这应该做你想要的:

RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L]

“%1”表示使用上面RewriteCond中的第一个捕获组。

答案 1 :(得分:2)

RewriteCond %{HTTP_HOST} ^(.+)\.example\.com
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L]

"%1"表示使用RewriteCond中的第一个捕获组,而$1是规则本身中的第一个捕获组。

在您的示例中,%1将为“abc”,$1将为“book”

[^/]*表示“匹配每个字符不是斜线,0或更多次”