.htaccess - 301重定向到一个新的网址然后默默地重定向回来隐藏一个丑陋的网址

时间:2011-10-12 18:48:58

标签: apache .htaccess mod-rewrite

我刚刚更改了url方案,所以example.com/ugly现在是example.com/nice

example.com/ugly仍处理请求 - .htaccess有此规则:

RewriteRule ^nice$ example.com/ugly [PT,L,QSA]

这很有用。

现在我想将example.com/ugly重定向到example.com/nice,但仍然有example.com/ugly处理请求。像这样:

  1. 将example.com/ugly重定向到example.com/nice(301)
  2. 将example.com/nice内部重定向到example.com/ugly,不让用户知道,也不必重复步骤1
  3. 这样做的简单方法当然会导致循环。有没有办法用.htaccess做到这一点?如果没有,还有另一种方式吗?

1 个答案:

答案 0 :(得分:1)

我所知道的最好的方法是在目标文件中使用PHP。这是您想要添加的内容:

if($_SERVER['REQUEST_URI'] == '/index.php') header("Location: http://".$_SERVER['HTTP_HOST']."/");

显然你需要在那里添加一些其他变量来处理任何请求,但这是基本的想法。