apache - 将子域重定向到另一个域
问题描述:
我需要将每个子域重定向到它所属的域中,使用mod_rewrite将子域名改为参数,我不知道如何。另外,我需要“重新索引”这些参数,以便子域名成为uri的第一个参数,uri的其他参数按照它们自己的顺序跟随它。事情是这样的apache - 将子域重定向到另一个域
category.domain.com/search/flowers
到
domain.com/category/search/flowers
就如何实现这一目标使用mod_rewrite有什么想法?
干杯!
答
您可以为所有的子域名与一个虚拟主机做到这一点:
<VirtualHost *:80>
ServerName category.domain.com
ServerAlias foo.domain.com bar.domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*).domain.com
RewriteRule (.*) http://domain.com/%1$1 [R=301,QSA,L]
</VirtualHost>
才能正常工作,你必须有一些设置为服务器名称,所以只选择一个,并列出你的子域的其余部分在ServerAlias线上。
您可以拥有多个ServerAlias行,因此如果您有大量的子域,则可以将它们分成多行以提高可读性。
在RewriteRule中,%1匹配前面RewriteCond行中的第一个匹配模式。
我没有访问权限,只是对一个普通的.htaccess – yoda 2010-10-16 20:47:23
在这种情况下,只需将重写的东西放在每个子域的.htaccess中即可。假设.htaccess中没有任何其他内容,您需要保留个别子域,并且可以创建符号链接,您可以将这些内容放入.htaccess中的一个子域,并从其他子域创建符号链接。这样你就不必在多个地方重复它。 – bradym 2010-10-16 21:08:05