나는 최근에 내 웹사이트의 모든 콘텐츠를 디렉토리에 있던 것에서 www.mysite.com/shop
루트 디렉토리로 옮겼습니다. 이는 /shop
디렉토리가 있는 페이지를 방문하라는 요청을 루트 디렉토리의 동일한 페이지로 다시 리디렉션해야 함을 의미합니다 .
www.mysite.com/shop/categories/washroom
에게
www.mysite.com/categories/washroom
이전에 디렉토리를 사용했던 내 사이트의 모든 페이지에서 이런 일이 발생해야 했습니다 /shop
.
나는 여기에 다음과 같은 해결책을 얻었습니다.
RedirectMatch (^/shop/)(.*) http://www.mysite.com/$2
그리고 그것은 완벽하게 작동하지만 이제는 디렉토리에 있는 이전 버전의 소프트웨어를 사용하도록 다시 전환해야 했기 /shop
때문에 지금은 완전히 반대 방향의 리디렉션이 필요합니다.
www.mysite.com/categories/washroom
에게
www.mysite.com/shop/categories/washroom
누구든지 나를 도와줄 수 있나요?
답변1
다음을 시도해 볼 수 있습니다.
RedirectMatch (^/categories/washroom/)(.*) http://www.mysite.com/shop/categories/washroom/$1
그게 효과가 있나요?
답변2
논리를 반대로 바꾸세요.
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/shop
RewriteRule ^/(.*)$ http://%{SERVER_NAME}/shop/$1 [L,R]