如何将页面从目录redirect到子目录?

我最近把我网站上的所有内容从www.mysite.com/shop目录移到了根目录中。 这意味着我需要redirect任何请求访问页面与/shop目录回到根目录中的同一页面,例如。

 www.mysite.com/shop/categories/washroom 

 www.mysite.com/categories/washroom 

这需要发生在我以前使用/shop目录的网站中的所有页面。

我在这里得到了一个解决scheme,那就是:

 RedirectMatch (^/shop/)(.*) http://www.mysite.com/$2 

它完美的工作,但现在我不得不切换到使用我们的旧版本的软件,位于/shop目录,所以我需要现在完全相反的redirect,例如。

 www.mysite.com/categories/washroom 

 www.mysite.com/shop/categories/washroom 

任何人都可以帮我吗?

你可以尝试:

 RedirectMatch (^/categories/washroom/)(.*) http://www.mysite.com/shop/categories/washroom/$1 

那样有用吗?

颠倒你的逻辑:

 RewriteEngine on RewriteCond %{REQUEST_URI} !^/shop RewriteRule ^/(.*)$ http://%{SERVER_NAME}/shop/$1 [L,R]