0

可能重复:
apache 从非 www 重定向到 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
4

1 回答 1

0

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

RewriteCond %{HTTP_HOST} ^trailerpulse.com$ [NC]
RewriteRule (.*) http://www.trailerpulse.com/$1 [R=301,L]
于 2012-10-04T05:32:38.187 回答