【问题标题】:Redirecting www to non-www works for main pages, doesn't work for folders将 www 重定向到非 www 适用于主页,不适用于文件夹
【发布时间】:2012-08-06 20:45:10
【问题描述】:

我在.htaccess 文件中使用了这样的重定向代码:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ %{HTTP_HOST}$1 [C]
RewriteRule ^www\.(.*)$ http://$1 [L,R=301]

当我输入:www.domain.com/file.php 时,它可以正常转发到domain.com/file.php

当我输入:www.domain.com/folder/folder2 我被重定向到:domain.comfolder/folder2(没有斜线)

我该如何解决这个问题?

【问题讨论】:

    标签: .htaccess mod-rewrite redirect http-redirect


    【解决方案1】:

    不知道为什么会这样,但是当我将这些规则放在我的 htaccess 文件中的 vanilla apache 2.2 安装中时,这些规则根本不起作用。由于看起来您所做的只是将 www.domain.com 请求重定向到 domain.com 请求,因此您可以这样做:

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

    而不是将规则链接在一起并将主机重写到 URI 路径中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2018-12-12
      • 2017-09-07
      • 1970-01-01
      • 2017-07-12
      • 2018-05-24
      • 1970-01-01
      相关资源
      最近更新 更多