我有一台本地机器,如果你输入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]`
答案 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]