.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 만 리디렉션하도록 지정하는 방법이 있습니까?
RedirectMatch
URL 경로와 일치하는 정규식을 사용합니다. 그리고 모든 정규식은 /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
'ProgramingTip' 카테고리의 다른 글
R에서 벡터의 요소로 많은 행을 나누는 방법 (0) | 2021.01.06 |
---|---|
브라우저 아이콘을 활용 WebStorm (0) | 2021.01.06 |
프로세스 ID에서 기본 창 핸들을 얻는 방법은 무엇입니까? (0) | 2021.01.06 |
코드가 JUnit 내에서 실행 중인지 여부를 어떻게 알 수 있습니까? (0) | 2021.01.06 |
document.location.href와 document.location의 차이점은 무엇입니까? (0) | 2021.01.06 |