htaccess将主机名重定向到FQDN

时间:2011-07-11 20:52:51

标签: apache .htaccess

我有一台本地机器,如果你输入http://host,它会进入网站上。我想使用htaccess重定向到http://host.domain.com。最后它是相同的我只是想使用适当的URL进行文档编制。我尝试了这个,但没有工作

   Options +FollowSymlinks
   RewriteEngine on
   rewritecond %{http_host} ^host [nc]
   rewriterule ^(.*)$ http://host.domain.com/$1 [r=301,nc]`

2 个答案:

答案 0 :(得分:4)

使用NE flag?等字符保留为原始格式,而不是将其转换为%-escapes,从而失去其特殊含义。

然而mod_rewrite是一种简单重定向的笨拙方式。如果您可以访问主/虚拟主机配置,最好使用Redirect,这是专为此工作设计的工具:

<VirtualHost *:*>
    ServerName host.domain.com
    ... real host settings...
</VirtualHost>

<VirtualHost *:*>
    ServerName host
    Redirect permanent / http://host.domain.com/
</VirtualHost>

答案 1 :(得分:0)

您可以尝试在FQDN上进行否定匹配 - 也就是说,任何没有host.domain.com的内容都会被重定向到那个。

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} "!^host.domain.com" [nc]
RewriteRule ^(.*)$ http://host.domain.com/$1 [r=301,nc]