2011-10-12 87 views
0

我只是改变URL方案,所以example.com/ugly现在example.com/nice的.htaccess - 301重定向到一个新的URL,然后静静地重定向到隐藏的丑陋的URL

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

这样做的简单方法当然会导致循环。有没有办法用.htaccess来做到这一点?如果不是,还有其他方法吗?

回答

1

我知道的最好方法是在目标文件中使用PHP。这里的约你要添加什么:

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

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