非 www 到 www .htaccess 重定向不起作用? [复制]

Posted

技术标签:

【中文标题】非 www 到 www .htaccess 重定向不起作用? [复制]【英文标题】:non-www to www .htaccess redirect not working? [duplicate] 【发布时间】:2012-09-25 01:41:40 【问题描述】:

可能重复: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

【问题讨论】:

你为什么要使用 mod_rewrite 呢? ***.com/questions/1100343/… 这是我购买网站所基于的脚本时编写代码的方式。 很公平。我建议使用链接问题中提到的Redirect 指令,它更简单。 【参考方案1】:

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

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

【讨论】:

以上是关于非 www 到 www .htaccess 重定向不起作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

非 www 到 www .htaccess 重定向不起作用? [复制]

htaccess 重定向非 www http 和 https

Htaccess 301将规则/ HTTP重定向到HTTPS /非www到www

使用htaccess从(.html到.php)和(http到https)和(非www到www)同时重定向[重复]

通过 htaccess 将所有 http 和 https 非 www URL 重定向到 https://www.xyz.com

在不使用 .htaccess 的情况下在 Wordpress 网站上重定向非 www