将子域重写为主域而不使用htaccess重定向

时间:2015-10-19 14:36:51

标签: apache .htaccess mod-rewrite rewrite subdomain

您好我想将sub.domain.com重写为domain.com/sub 但是也需要将sub2.domain.com重写为domain.com/sub2和sub3等...
网址不允许更改,因此重定向不是一种选择 我目前的代码是无休止的重定向:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule ^(.*?)/?$ http://sub.domain.com/$1 [L]

如何更改.htaccess以解决此问题。

1 个答案:

答案 0 :(得分:3)

循环发生是因为你重写为sub.domain.com然后由于sub.的存在而触发cond并再次重写。

如果您不想更改地址,可以尝试使用代理标志。确保已启用mod_proxy

RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule ^(.*)/?$ http://domain.com/%1/$1 [P]