我希望我的域名将非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
答案 0 :(得分:0)
你的规则几乎就在那里。唯一的问题是在主机名后面有一个尾部斜杠,它将从不出现在请求的“Host:”标题中。将/
替换为$
并添加[NC]
标志以忽略大小写:
RewriteCond %{HTTP_HOST} ^trailerpulse.com$ [NC]
RewriteRule (.*) http://www.trailerpulse.com/$1 [R=301,L]