htaccess 파일을 통해 301 리디렉션을 수행해야하지만 두 수준 아래 인 하위 폴더를 리디렉션하는 데 어려움이 있습니다. 경우 그것은 중요 index.php
로 확인/
시나리오 : www.domain.com/oldfolder1/oldfolder2/
다음으로 리디렉션됩니다.www.domain.com/newfolder/
또한 필요에 따라 다음 규칙이 존재합니다.
Redirect 301 /oldfolder1/ http://www.domain.com/newfolder/
내가 가지고있는 문제는 현재 리디렉션이 www.domain.com/newfolder/oldfolder2/에서 끝나는 것이 잘못되었으며 그렇지 않을 것이라는 것입니다. 페이지는 www.domain.com/newfolder/에서 끝나야합니다.
다음을 시도했지만 아무것도 작동하지 않았습니다.
방법 1 :
RedirectMatch 301 /oldfolder1/oldfolder2/(.*) /newfolder/$1
방법 2 :
Redirect 301 /oldfolder1/oldfolder2 http://www.domain.com/newfolder/
방법 3 :
Redirect 301 /oldfolder1/oldfolder2 http://www.domain.com/newfolder/index.php
조언 해 주시겠습니까?
감사합니다!
대신 이것을 시도하고 이것을 htaccess 파일에 넣으십시오. 어떻게 작동하는지 확인하십시오.
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/oldfolder1/oldfolder2/?$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/oldfolder1/?$
RewriteRule ^(.*) http://www.domain.com/newfolder/ [R=301,L]
편집하다:
귀하의 의견에 따라.
RewriteEngine On
#if directory exists redirect to equivalent folder.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^oldfolder1/?(.*)$ http://www.domain.com/newfolder/$1 [R=301,L]
#if it's not a directory then redirect to main folder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^oldfolder1/?(.*)$ http://www.domain.com/newfolder/ [R=301,L]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다