내가 한 사이트 마이그레이션의 최악의 시간은 라이브 사이트에서 500 오류를 응시하는 데 소비되었으며,그 원인은.htaccess 파일의 단일 길 잃은 문자였습니다. 나는 WordPress 재구축을 위해 리디렉션 배치를 손으로 작성하고 RewriteRule 플래그를 팻 핑거링했으며 Apache 는 전체 도메인 서비스를 거부함으로써 응답했습니다. 리디렉션 자체는 괜찮았습니다; 그들 주변의 구문은 그렇지 않았고.htaccess 는 그런 식으로 용서하지 않습니다. 그 후 나는 손으로 리디렉션 규칙을 작성하는 것을 중단하고 생성하기 시작했는데,정확히 그렇습니다 htaccess 리디렉션 생성기 on Toolz.dev does. 이 가이드는 아파치 리디렉션이 어떻게 작동하는지,각 유형을 언제 사용할지,아무것도 깨지 않고 HTTPS 와 www 를 표준화하는 방법을 다룹니다.
TL;DR: .htaccess 파일은 아파치에게 URL 을 리디렉션하는 방법을 알려준다. 영구이동은 301 을,임시이동은 302 를,사용한다
Redirect정확한 경로의 경우, 그리고RewriteRule패턴의 경우. 그만큼 htaccess 리디렉션 생성기 업로드된 내용이 없이 브라우저에서 완전히 정렬된 간단한 목록에서 이러한 모든 기능과 force-HTTPS 및 www 규칙을 빌드합니다.
htaccess 리디렉션 생성기 란 무엇입니까?
.htaccess 리디렉션 생성기는 이전 URL 매핑의 일반 목록을 리디렉션을 수행하는 정확한 Apache 지시어로 바꿉니다. 어떤 상태 코드를 선택하면 Apache 문제가 아닌 프로토콜 질문입니다: RFC 9110 301 을 영구,302 를 찾은 대로 정의한다..htaccess 파일은 아파치가 모든 요청에서 읽는 디렉토리별 설정 파일이며,공유 호스팅에서는 보통 리디렉션을 선언할 수 있는 유일한 곳이다. 왜냐하면 메인 서버 구성을 편집할 수 없기 때문이다. generator 는 아파치가 지원하는 리디렉션의 두 가지 flavours 를 모두 쓴다: mod_alias Redirect 직선적인 일대일 경로 변경을 위한 지시어,그리고 mod_rewrite RewriteRule 한 번에 많은 URL을 잡아내는 패턴 일치에 대한 지시문입니다.
입력하기보다는 이것들을 생성하는 이유는.htaccess 문법이 정확하고 처벌하기 때문입니다. 잘못 배치된 플래그,패턴의 이스케이프되지 않은 점 또는 잘못된 순서의 규칙은 경고를 생성하지 않습니다; 찾아서 수정할 때까지 전체 사이트를 다운시키는 500 오류를 생성합니다. 지시문은 또한 RewriteRule 전에 재작성 엔진이 켜져 있고 페이지 수준 규칙보다 사이트 전체 규칙이 앞서 있거나 디버깅하기 어려운 방식으로 잘못 작동하는 특정 순서로 나타나야 합니다. 생성기는 미묘하게 잘못 얻을 수 없도록 순서와 구문을 인코딩합니다.
Toolz.dev 에서 흐름은 마이그레이션에 대해 실제로 생각하는 방식을 반영합니다. 각 이전 경로와 새 대상을 나열하고 이동이 영구적 또는 일시적인지,정확한 경로인지 패턴인지 선택하고 선택적으로 거의 모든 사이트에 필요한 두 개의 사이트 전체 규칙을 전환합니다. 이 도구는 전체 파일을 올바른 순서로 조립하고 경로를 사이트에 붙여넣기 전에 경로를 자신에게 리디렉션하는 규칙과 같은 의심스러운 모든 항목에 플래그를 지정합니다.
301과 302 리디렉션의 차이점은 무엇입니까?
301 은 영구적인 리디렉션이고 302 는 일시적인 것이며,검색 엔진에 그 구별이 전체적인 포인트이다. 301 은 브라우저와 크롤러에게 페이지가 영원히 이동했음을 알려주고,검색 엔진은 거의 모든 이전 URL's 누적 순위 신호를 새 주소로 전송하여 응답하고 결국 이전 URL 을 인덱스에서 삭제한다. 302 는 이동이 일시적이라고 알려주기 때문에 원래 URL 을 인덱싱하고 순위를 매기고 목적지를 사라질 스탠드 인으로 취급한다.
잘못된 것을 선택하면 실제 결과가 발생합니다. 영구 이동을 위해 302 를 사용하면 새 페이지가 자체 권한을 축적하는 데 어려움을 겪는 동안 검색 엔진이 이전 URL 순위를 유지할 수 있습니다. 신호가 전송되지 않았기 때문에 301 을 사용하여 유지 보수를 위해 다운 된 페이지 또는 계절 방문 페이지와 같이 진정으로 일시적인 것으로,상황이 되돌아 가면 원본의 순위를 영구적으로 잃을 수 있습니다. 경험 법칙은 간단합니다: 이전 URL 이 다시 돌아 오지 않으면 301 을 사용하십시오; 그렇다면 302 를 사용하십시오.
중요한 속성에 대해 두 가지를 비교하는 방법은 다음과 같습니다:
| 재산 | 301 영구 | 302 임시 |
|---|---|---|
| 의미 | 페이지는 영원히 움직였습니다 | 페이지는 일시적으로 다른 곳에 있습니다 |
| 순위 신호 | 새 URL 로 전송되었습니다 | 원래 URL을 유지하세요 |
| 인덱스의 이전 URL | 결국 떨어졌다 | 보관됨 |
| 일반적인 사용 | 재설계, 마이그레이션, 병합된 페이지 | 유지 관리, A/B 테스트, 계절 페이지 |
| 브라우저 캐싱 | 공격적으로 캐시되었습니다 | 기본적으로 캐시되지 않음 |
생성기를 사용하면 규칙별로 상태를 설정할 수 있으므로 임시 프로모션 리디렉션 하나로 대부분 영구적으로 이동하는 마이그레이션은 두 개의 파일이 아닌 단일 혼합 목록입니다. 301s 는 브라우저에 의해 공격적으로 캐시되므로 처음으로 올바르게 가져올 가치가 있습니다; a wrong 301 can persistent in a visitor's browser long after you fix the server.
리디렉션 대 rewriteRule을 언제 사용해야 합니까?
를 이용하세요 Redirect 정확한 일대일 경로 변경에 대한 지시문 및 a RewriteRule 패턴을 맞춰야 할 때. Redirect 301 /old-page /new-page 는 단일 페이지를 이동하기 위한 전체 규칙이며,읽을 수 있고,잘못되기 어렵고,Apache's mod_alias 모듈에 의해 처리됩니다. 각각 특정 새 위치로 이동한 특정 페이지의 소수,목록이 있을 때 Redirect 선은 그것을 표현하는 가장 명확하고 안전한 방법입니다.
A RewriteRule 하나의 규칙이 많은 URL 을 잡아야 할 때 복잡성을 얻습니다. 아래의 모든 게시물 인 경우 /blog/2023/ 연도 없이 같은 길로 옮겨 a Redirect 각 게시물의 줄은 수백 개의 규칙; 단일 RewriteRule ^blog/2023/(.*)$ /blog/$1 [R=301,L] 연후 부분을 캡처하여 대상에서 재사용하여 모든 것을 처리합니다. 힘은 정규식과 캡처 그룹에서 나오지만 위험도 마찬가지입니다. 왜냐하면 탈출하지 않은 특수 문자나 탐욕스러운 패턴은 의도한 것보다 훨씬 더 많이 일치할 수 있기 때문입니다.
생성기는 규칙별로 선택한 일치 유형에 따라 올바른 지시어를 선택합니다: 정확한 규칙이 됩니다 Redirect 선과 패턴 규칙이 됩니다 RewriteRule 어떤 패턴 규칙든지 출석할 때 자동적으로 켭니다 재작성 엔진을 가진 선. 그것은 또한 산출에 있는 정확한 순서에 있는 2 개의 그룹을 지킵니다. 당신이 본 자체를 쓰기에 새로운 경우에,the regex 테스터 리디렉션을 신뢰하기 전에 샘플 URL에 대해 패턴을 확인할 수 있습니다. 이는 캡처 그룹이 내가 기대하는 작업을 수행하는지 확인하는 방법입니다.
HTTPS 를 htaccess 에서 강제하려면 어떻게 해야 하나요?
HTTPS 를 강제하기 위해 현재 요청이 아직 안전하지 않은지 확인하는 재작성 조건을 추가하고,그 뒤에 동일한 호스트 및 경로의 https 버전으로 리디렉션되는 규칙을 추가합니다. 표준 양식은 확인합니다 %{HTTPS} off 그리고 다시 씁니다 https://%{HTTP_HOST}/$1 301 을 사용하면 모든 일반 HTTP 요청이 동일한 URL 의 암호화 된 버전으로 영구적으로 업그레이드됩니다. 이 리디렉션없이 http 및 https 를 통해 사이트를 제공하면 검색 엔진이 모든 페이지의 두 버전을 인덱싱하여 순위 신호를 분할 할 수 있습니다.
미묘함은 순서를 정하는 것입니다. HTTPS 규칙은 www 를 추가하거나 제거하는 등 호스트를 다시 쓰기 전에 실행되어야 하므로 이후의 규칙도 방문자를 http 에서 https 로 보낸 다음 두 번째 리디렉션을 통해 보내는 대신 보안 체계에 도달합니다. 이 규칙을 잘못하면 단일 요청이 도착하기 전에 두세 번의 홉을 통해 반송되는 리디렉션 체인이 생성되며,이는 사용자에게 더 느리고 리디렉션의 순위 이점을 희석시킵니다. 생성기는 정확히 이러한 이유로 HTTPS 규칙을 먼저 배치합니다.
도구에서 강제 HTTPS 를 켜면 페이지 리디렉션 및 www 규칙보다 먼저 출력 상단에 올바른 조건과 규칙을 삽입합니다. HTTPS 는 이제 선택적 추가 항목이 아닌 기본 기대치이고 브라우저는 점점 더 일반-http 페이지를 안전하지 않은 것으로 표시하기 때문에 이것은 내가 본질적으로 모든 사이트에 추가하는 규칙입니다. 다음에 다루는 표준 호스트 규칙과 자연스럽게 쌍을 이루며 함께 모든 페이지에 대해 정확히 하나의 주소에 사이트를 정산합니다.
www 를 non-www 또는 reverse 로 리디렉션하려면 어떻게 해야 하나요?
호스트를 확인하고 선택한 버전으로 리디렉션하는 다시 쓰기 규칙으로 www 접두사를 표준화합니다. www 를 제거하려면 시작하는 호스트를 일치시킵니다 www., 나머지를 캡처하고 베어 도메인으로 리디렉션; www를 추가하려면 시작하지 않는 호스트를 일치시킵니다 www. 그리고 접두어 버전으로 리디렉션합니다. 어느 쪽이든 목표는 정확히 하나의 표준 호스트에서 모든 페이지에 도달할 수 있다는 것입니다. 왜냐하면 두 곳 모두에서 동일한 콘텐츠를 제공하기 때문입니다 www.example.com 그리고 example.com 해결되지 않은 http/https 분할과 마찬가지로 순위 신호를 분할하는 고전적인 중복 콘텐츠 문제입니다.
비 www 또는 그 반대에 비해 www 에 SEO 이점이 없습니다; 중요한 것은 하나를 선택하고 일관되게 시행한다는 것입니다. 큰 사이트는 역사적으로 쿠키 및 하위 도메인 주변의 기술적 인 이유로 www 를 사용했지만 많은 최신 사이트는 간결성을 위해 삭제했습니다. 중요한 것은 일단 선택하면 모든 링크,모든 표준 태그 및 모든 리디렉션 포인트가 동일한 버전이므로 검색 엔진은 모든 권한을 분할하지 않고 하나의 호스트에 통합합니다.
발전기는 3 개의 선택권을 가진 단 하나 www 조정을 제안합니다: 그것을 변하지않게 남겨두거나,www 를 강제하거나,www 를 제거하십시오. 그것은 일치 조건 및 규칙을 쓰고 HTTPS 규칙 후에 그것을 둡니다 그래서 2 개는 사슬 보다는 오히려 협력합니다. 당신이 정착하는 어느 호스트든지 또한 당신의 표준 꼬리표 및 당신의 사이트맵에 있는 것이어야 합니다,그래서 당신의 생성 가치가 있습니다 사이트맵 동일한 표준 호스트를 사용하고 일치에서 크롤링 규칙을 선언합니다 robots.txt. 세 가지 모두에 걸친 일관성이 정경화를 실제로 지속시키는 이유입니다.
이러한 리디렉션이 nginx에서 작동합니까?
아니요..htaccess 형식은 Apache 웹 서버와 이를 의도적으로 에뮬레이트하는 서버, 특히 LiteSpeed에만 적용됩니다. Nginx는.htaccess 파일을 전혀 읽지 않습니다; 완전히 무시하므로 Apache 지시문을 Nginx 설정에 붙여넣으면 아무 것도 수행되지 않습니다. Nginx는 자체 리디렉션을 처리합니다 return 그리고 rewrite 내부 지시문 server 그리고 location 다른 구문과 다른 평가 모델을 사용하여 기본 구성의 블록입니다.
리디렉션 문제의 놀라운 숫자는 잘못된 서버에 올바른 규칙을 적용에서 비롯되기 때문에이 문제가 중요합니다. 당신이 무엇을 작성하든 리디렉션이 무시되는 것 같으면 가장 먼저 확인해야 할 것은 Nginx 호스트의.htaccess 파일이 비활성 상태이기 때문에 실제로 사이트를 제공하는 웹 서버입니다. 특히 관리되는 WordPress 호스트는 때때로 Apache 앞이나 대신 Nginx 를 실행하며 거기에서 신중하게 편집 한.htaccess 파일은 효과가 없습니다.
생성기는 공유 호스팅의 대다수와 Apache 또는 LiteSpeed 를 실행하는 모든 호스트를 다루는 Apache 구문을 생성합니다. Nginx 에있는 경우 규칙의 논리가 직접 번역되면 영구 리디렉션은 여전히 301 이고 정식 호스트는 여전히 정식 호스트이지만 구문은.htaccess 파일이 아닌 host's 구성의 작업 인 Nginx & #39;s 지시어에 대해 다시 작성해야합니다. 시작하기 전에 어떤 서버에 있는지 알면 혼란이 저장됩니다. 나는 오후 내내 삼키는 것을 지켜 보았습니다.
이걸 실제로 언제 쓰게 될까요?
사이트 마이그레이션이 기본 사례입니다. 사이트를 다시 빌드할 때마다 새 URL 구조로 이동하는 WordPress 프로젝트이든 이전 URL 구조를 대체하는 새 빌드이든 트래픽이나 백링크가 있는 모든 이전 URL 은 새 홈에 301 이 필요하거나 트래픽과 권한이 404s 로 증발합니다. 이러한 매핑을 나열하고 리디렉션 블록을 한 번에 생성하고 올바르게 정렬되고 구문론적으로 깔끔한 것은 하나의 오타로 사이트를 다운시킬 수 있는 파일을 직접 편집하는 것보다 훨씬 안전합니다. 패턴 규칙은 그룹으로 이동한 전체 섹션을 처리합니다.
HTTPS 와 표준 호스트를 시행하는 것은 일상적인 경우입니다. 페이지 수준 리디렉션이 없는 사이트에서도 force-HTTPS 와 www 규칙은 순위 신호를 통합하고 현재 브라우저가 기대하는 보안 기준선을 충족하기 위해 추가할 가치가 있습니다. 기본적으로 모든 새 사이트에 대해 이 두 가지 규칙을 생성하고 실행 전에 붙여넣기하므로 중복 버전이 이미 색인화되면 나중에 정리되지 않고 첫날부터 사이트가 표준입니다.
사실을 반올림 한 후 정리. 오래된 리디렉션이 축적,두 개 또는 세 개의 홉을 통해 일부 체인,이후 다시 이동 한 페이지에서 일부 지점. 도구가 제공하는 루프 및 형식 경고와 함께 클린 목록에서 전체 블록을 재생성하는 것은 다시 단일 홉으로 그 체인을 평평하게하는 좋은 방법입니다. 리디렉션은 현장 SEO 의 한 코너이며,그들은 옆에 앉아 메타 태그 생성기 그리고 페이지 툴킷의 나머지 부분; 브라우저에서 이러한 종류의 유틸리티를 유지하는 더 넓은 경우는 제가 만든 것입니다 웹 개발자 툴킷 가이드, 그리고 생산성 각도 개발자 생산성 도구 가이드.
내 URL 데이터는 비공개인가요?
예. 모든 규칙은 브라우저 내부의 JavaScript 에서 생성됩니다. 입력한 URL,도메인 및 리디렉션 맵은 전송,로그 또는 저장되지 않으며,페이지가 로드된 후에도 도구는 네트워크 연결 없이 계속 작동합니다. 리디렉션 맵은 효과적으로 site's 구조와 가장 가치 있는 페이지의 다이어그램이며,암호 방식으로는 비밀이 아니지만 텍스트 파일을 조립하기 위해 다른 사람's 서버를 통해 흐를 이유가 없습니다.
작업이 로컬에서 발생하기 때문에 오프라인으로 마이그레이션을 계획하고,연결이 없는 노트북에서 규칙을 생성하고,준비가 되면 붙여넣을 수 있으며,기기를 떠나는 site's URL 구조의 어떤 부분도 없습니다. 그 로컬 우선 접근 방식은 Toolz.dev 의 모든 도구 뒤에 있는 것과 동일하며,도구가 책상에서와 마찬가지로 평면에서도 사용할 수 있음을 의미합니다. 데이터를 업로드하지 않는 브라우저 기반 도구를 선호하는 일반적인 주장은 내가 설정한 것입니다 온라인 도구 가이드의 데이터 개인 정보 보호.
자주 묻는 질문
301과 302 리디렉션의 차이점은 무엇입니까?
A 301 은 영구 리디렉션: 그것은 브라우저와 검색 엔진에 페이지가 좋은 이동 한 것을 알려줍니다 새 하나에 이전 URL's 순위 신호의 거의 모든 전달. A 302 는 임시: 그것은 방문자를 전달하지만 원래 URL 은 순위를 유지해야한다는 신호를 반환 할 수 있습니다. 영구 이동에 301 을 사용하고 변경이 진정으로 임시 경우에만 302 를 사용합니다.
htaccess 파일은 어디에 넣나요?
.htaccess 파일을 웹 사이트의 루트 디렉토리에 배치합니다. 일반적으로 index.php 또는 index.html이 포함된 폴더입니다. 거기에 선언된 리디렉션은 전체 사이트에 적용됩니다. 파일 이름은 점으로 시작하며 확장자가 없으며 대부분의 공유 호스트가 기본적으로 구성하는 디렉토리에 대해 Apache에 AllowOverride가 활성화되어 있어야 합니다.
리디렉션 대 rewriteRule을 언제 사용해야 합니까?
/old-page와 같이 /old-page와 같이 간단한 일대일 경로 변경을 위해 mod_alias 리디렉션 지시문을 사용합니다. 패턴을 일치시켜야 할 때 mod_rewrite rewriteRule을 사용하십시오. 예를 들어 /blog/2023/의 모든 URL을 연도 없이 동일한 경로로 보내십시오. 이 도구는 정확한 규칙에 대한 리디렉션 및 패턴 규칙에 대한 RewriteRule을 자동으로 내보냅니다.
HTTPS 를 htaccess 에서 강제하려면 어떻게 해야 하나요?
Force HTTPS 를 활성화하면 생성기는 HTTPS 가 꺼져 있는지 확인하는 RewriteCond 를 추가하고 301 로 동일한 호스트 및 경로의 https 버전으로 리디렉션하는 RewriteRule 을 추가합니다. 다른 리디렉션 전에 이 규칙을 배치하면 모든 요청이 추가 홉을 통해 연결되지 않고 먼저 보안 연결로 업그레이드됩니다.
이러한 리디렉션이 nginx에서 작동합니까?
아니요..htaccess 형식은 아파치 웹 서버와 LiteSpeed 와 같이 이를 에뮬레이트하는 서버에만 해당됩니다. Nginx 는.htaccess 파일을 읽지 않고 서버 구성에서 자체 재작성 및 반환 지시어를 사용하므로 이러한 규칙을 Nginx 구문으로 변환해야 합니다. 무시된 리디렉션 문제를 해결하기 전에 사이트가 실행되는 서버를 확인하십시오.
이러한 리디렉션이 내 SEO에 해를 끼치나요?
올바르게 사용하면 리디렉션이 SEO를 해치지 않고 보호합니다. 301은 이동된 페이지의 순위를 유지하고 HTTPS 및 WWW를 표준화하면 중복 버전이 신호를 분할하는 것을 방지합니다. 리디렉션 체인, 루프 또는 관련 없는 페이지로의 리디렉션으로 인해 위험이 발생하므로 각 규칙을 가장 관련성이 높은 대상을 직접 가리키도록 합니다.
하나의 규칙이 한 번에 많은 URL을 리디렉션할 수 있습니까?
예. 규칙을 패턴 모드로 설정하고 캡처 그룹이 있는 소스 필드에서 정규식을 사용한 다음 대상에서 $1, $2 등으로 참조합니다. 예를 들어 ^blog/(.*)$가 /articles/$1 로 리디렉션되면 /blog/ 아래의 모든 페이지를 단일 규칙으로 /articles/ 아래의 일치하는 페이지로 이동합니다.
내 URL 데이터는 비공개인가요?
예. 규칙은 JavaScript 로 브라우저에서 생성됩니다. 입력한 내용은 업로드,로그 또는 저장되지 않으며 페이지가 로드된 후에도 인터넷 연결 없이 도구가 계속 작동합니다. 리디렉션 맵은 site's 구조를 설명하며 클라이언트 측 도구를 사용하면 파일을 조립하기 위해 장치를 떠나지 않습니다.
무료로 리디렉션을 구축하세요 htaccess 리디렉션 생성기. 그것은 간단한 목록에서 아파치 301 및 302 규칙, 힘-HTTPS, 그리고 www canonicalization 작성, 올바른 순서, 아무것도 업로드 하지 않고 브라우저에서 완전히.



