ProgramingTip

.htaccess 301 단일 페이지 리디렉션

bestdevel 2021. 1. 6. 20:52
반응형

.htaccess 301 단일 페이지 리디렉션


사이트를 재 설계 한 후 리디렉션해야 할 페이지가 몇 개 있습니다. 모든 것이 동일한 도메인에 유지되고 몇 가지만 및 / 또는 이름이 변경됩니다. 형식은 다음과 가변적입니다.

/contact.php

현재 :

/contact-us.php

.htaccess 파일을 사용하여 다음 줄을 추가했습니다.이 줄은 제가 가장 추천하는 줄입니다.

RedirectMatch 301 /contact.php /contact-us.php

이것은 대부분 괜찮습니다-작업을 수행합니다-문제는 다음과 같이 리디렉션 것입니다.

  • /team1/contact.php
  • /non-existant-folder/contact.php

root의 contact.php 만 리디렉션하도록 지정하는 방법이 있습니까?


RedirectMatchURL 경로와 일치하는 정규식을 사용합니다. 그리고 모든 정규식은 /contact.php단지 의미 가 포함 된 URL 경로/contact.php정확히 정확히 어떤 URL 경로를 포함/contact.php 합니다. 따라서 문자열의 시작과 끝에 앵커를 사용하십시오 ( ^$):

RedirectMatch 301 ^/contact\.php$ /contact-us.php

이것을 그것을해야한다

RedirectPermanent /contact.php /contact-us.php 


redirect 301 /contact.php /contact-us.php

리다이렉트 매치 규칙을 사용하는 것은 정확히 일치하는 링크를 작성해야합니다. 포함하지 않고 제외 할 필요가 없습니다! 일치하지 않고 리디렉션을 사용하고 바로 링크를 사용하십시오.


템플릿 일치 및 URL 리디렉션 기능을 원하는 경우 RewriteRule 을 사용할 수도 있습니다 .


에, 대한 문제 추론 간단한 해결책 을 사용하려는 경우 RedirectMatch에 의 대안 은보다 기본적인 리디렉션 지시문입니다.

패턴 일치를 사용하지 않고 다른 사람들이 이해하기 더 명확하고 소유권이 있습니다.

<IfModule mod_alias.c>

#Repoint old contact page to new contact page:
Redirect 301 /contact.php http://example.com/contact-us.php

</IfModule>

문서가 다음과 같이 있기 때문에 전달되어야합니다.

일치하는 URL 경로 이외의 추가 경로 정보가 대상 URL에 추가됩니다.


상점 페이지를 연락처 페이지로 리디렉션합니다.

    <IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteBase /
    Redirect 301 /storepage /contactpage
    </IfModule>

참조 URL : https://stackoverflow.com/questions/1421068/htaccess-301-redirect-of-single-page

반응형