我在Apache中有一个vHost,我想将所有子域重写到子域www.domain.tld,其中tld-part应该是用户输入的那个。
我已经查看了mod_rewrite的文档,但至少我不明白:)我希望有人可以将它推荐给我。
我的vHost-Config中的实际部分如下,...但仅匹配子域问题,但不匹配tld问题:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?domain\.de$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1domain.de%{REQUEST_URI} [R=301,L]
但我不明白我的域名之前的%1 ...
答案 0 :(得分:0)
RewriteCond %{HTTP_HOST} ^(?!www\.)(?:[^.]+\.)?(domain\.[^.]+)$ [NC]
RewriteRule .* http://www.%1/$0 [R=301,L]
重定向所有子域不是www的请求,具有0或1个sudomain级别,域为domain
并且具有一个级别的tld。如果您还需要,请说.co.uk
,则需要修改。