代码之家  ›  专栏  ›  技术社区  ›  helion3

Apache使用301重定向,而不是内部重写

  •  0
  • helion3  · 技术社区  · 14 年前

    我正在尝试将子文件夹映射/屏蔽到同一服务器上的其他文件夹。我以前做过很多次,但我不能让它正常工作。我希望访问目录“a”的用户看到“oldsite/a”,但是我不希望他们被重定向,或者在浏览器中看到新地址。

    <IfModule mod_rewrite.c>
            RewriteEngine on
            Options +FollowSymlinks
            RewriteRule ^\.htaccess$ - [F]
            # Maintain support for old structure
            RewriteRule ^a/([0-9]+)$  oldsite/a/$1?redirected=1 [QSA,L]
    </IfModule>
    

    我尝试过使用rewritebase等多种组合,而不是用户看到“domain.com/a/1234”,而是将它们重定向到“domain.com/oldsite/a/1234”?重定向=1“。

    1 回复  |  直到 13 年前
        1
  •  0
  •   helion3    14 年前

    结果发现该语句在查询字符串之前缺少右正斜杠。

    RewriteRule ^a/([0-9]+)$  oldsite/a/$1/?redirected=1 [QSA,L]