301의 핵심 사항은 항상 많은 SEO 담당자에게 노출되어 왔습니다. 301을 수행할 때 많은 웹사이트가 온라인에서 관련 규칙을 찾아 변경하는 경우가 많으며, 많은 사람들이 규칙의 의미를 모른다고 할 수 있습니다. 오늘은 "Apache"를 예로 들어 "Server"와 "IIS Server"를 예로 들어보겠습니다.
웹사이트 서버가 Apache인 경우 .htaccess 파일 시작 부분에 다음 규칙을 추가합니다(수정 권한이 없는 경우 수정에 대한 도움을 받으려면 서비스 제공업체에 문의하세요).
RewriteCond %{http_host} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
{HTTP_HOST}는 서버 변수입니다.
^는 일치하는 입력 문자열의 시작 위치입니다.
$는 일치하는 입력 문자열의 끝 위치입니다.
R=301은 영구 리디렉션을 수행한다는 의미입니다. R도 302를 의미하므로 여기서는 R=301이 강조됩니다.
L은 규칙의 끝을 의미합니다.
가장 일반적으로 사용되는 정규식 중 하나는 (.*)입니다. 여기에는 두 가지 요소가 포함됩니다. 하나는 모든 문자를 나타내는 "점"이고 다른 하나는 이전의 모든 문자를 나타내는 "별표"입니다. 따라서 (.*)는 {REQUEST_URI}의 모든 문자와 일치합니다. {REQUEST_URI}는 도메인 이름과 URL의 "?" 기호를 제외한 모든 쿼리 문자이며, Apache 재작성 기술이 일치시키려는 문자이기도 합니다.
[NC]는 정규식에서 대소문자를 무시하도록 Apache 서버에 지시합니다. 도메인 이름은 대소문자를 구분하지 않기 때문에 {HTTP_HOST} 서버 매개변수에 자주 사용됩니다.
웹 사이트 서버가 IIS인 경우 ISAPI_Rewrite 구성 요소를 사용하고 httpd.ini 파일 시작 부분에 다음 규칙을 추가합니다.
RewriteCond 호스트: ^domain.com$
RewriteRule (.*) http://www.domain.com$1 [R,I]
^는 일치하는 입력 문자열의 시작 위치입니다.
$는 일치하는 입력 문자열의 끝 위치입니다.
(.*)는 {REQUEST_URI}의 모든 문자와 일치합니다.
대소문자에 관계없이 지정된 문자 일치를 강제합니다. 이 FLAG는 RewriteRule 지시어와 해당 RewriteCond 지시어에 영향을 미칩니다.
R은 서버가 클라이언트에 리디렉션 명령을 내리고 즉시 응답하도록 강제하여 리디렉션 규칙이 마지막 규칙인 경우가 많습니다.
는 다음 문자를 특수 문자, 리터럴 문자, 역참조 또는 8진수 이스케이프 문자로 표시합니다.
참고: 위 코드 domain.com은 예시입니다. 설명이 잘못된 경우 이 글은 Hangzhou Extramarital Affairs Investigation Company http://www.hydc007.com 웹마스터가 작성한 것입니다. 전재.
귀하의 기여에 대해 Hangzhou Private Detective에게 감사드립니다