非www到www .htaccess重定向无法正常工作?

时间:2012-10-04 04:12:13

标签: .htaccess

  

可能重复:
  apache redirect from non www to www

我希望我的域名将非www重定向到www版本。由于某种原因,下面的代码无效。

有什么建议吗?

最有可能是任何简单的修复,但我无法让它起作用。

<ifmodule mod_deflate.c>
<filesmatch \.(css|html|js|php|xml)$>
    setoutputfilter deflate
</filesmatch>
</ifmodule>
<ifmodule mod_security.c>
secfilterengine off
secfilterscanpost off
</ifmodule>

<ifmodule mod_rewrite.c>
    RewriteEngine on
RewriteCond %{HTTP_HOST} ^trailerpulse.com/
RewriteRule (.*) http://www.trailerpulse.com/$1 [R=301,L]
RewriteCond %{request_filename} -f
RewriteRule ^(.*) $1 [L]
RewriteRule ^([a-z]+)(/([^/]{0,32})(/.+)?)?$  index.php?a=$1&q=$3    [L]

</ifmodule>
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault A0
<filesmatch \.(css|js|gif|jpe?g|png)$>
    ExpiresDefault A604800
</filesmatch>
<filesmatch \.(html|xml)$>
    ExpiresDefault A10800
</filesmatch>
</ifmodule>

FileEtag None
Options All -Indexes
ServerSignature Off
ErrorDocument 404 /error

1 个答案:

答案 0 :(得分:0)

你的规则几乎就在那里。唯一的问题是在主机名后面有一个尾部斜杠,它将从不出现在请求的“Host:”标题中。将/替换为$并添加[NC]标志以忽略大小写:

RewriteCond %{HTTP_HOST} ^trailerpulse.com$ [NC]
RewriteRule (.*) http://www.trailerpulse.com/$1 [R=301,L]