【问题标题】:non-www to www .htaccess redirect not working? [duplicate]非 www 到 www .htaccess 重定向不起作用? [复制]
【发布时间】: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 呢? stackoverflow.com/questions/1100343/…
  • 这是我购买网站所基于的脚本时编写代码的方式。
  • 很公平。我建议使用链接问题中提到的Redirect 指令,它更简单。

标签: .htaccess


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2011-04-12
    • 2015-12-31
    • 1970-01-01
    • 2018-05-26
    相关资源
    最近更新 更多