Hostwinds 튜토리얼
에 대한 검색 결과:
목차
.htaccess 파일은 Apache 웹 서버에서 주로 사용하는 구성 파일입니다.기본 서버 구성 파일을 직접 수정하지 않고 서버 전체 설정을 무시하고 개별 디렉토리에 특정 구성을 적용 할 수 있습니다.
.htaccess 파일은 다양한 백엔드 웹 사이트 작업을 효율적으로 관리하는 데있어 매우 강력한 도구로 두드러집니다.가장 일반적인 작업 중 하나는 리디렉션을 구현하는 것입니다. 개별 URL 수준, 전체 도메인 및 HTTP 프로토콜 수준에서 리디렉션을 실행할 수 있습니다.
이 튜토리얼에서는 무수한 옵션을 살펴볼 것입니다. htaccess 제안을 통해 다양한 구현을 통해 URL을 효과적으로 리디렉션 할 수 있도록 다양한 구현을 안내합니다.
.htaccess 파일을 활성화하면 Apache 웹 서버가 그 내에 작성된 지시문을 인식하고 수락하도록 지시하므로 디렉토리 수준에서 기본 서버 구성을 재정의하도록 설정합니다.
당신이있는 경우 공유 호스팅 계정, 호스팅 서비스 제공 업체에는 이미 활성화되어 있어야하므로 파일을 작성하기 만하면됩니다.
선호하는 텍스트 편집기를 사용합니다 (우리는 사용하겠습니다 나노 이 예에서는 다음 명령으로 웹 사이트의 구성 파일을 엽니 다.
Red Hat 기반 시스템 (Centos, Fedora, Rhel)의 경우 :
sudo nano /etc/httpd/conf/httpd.conf
데비안 기반 시스템 (Debian, Ubuntu, Linux Mint)의 경우 :
sudo nano /etc/apache2/sites-available/domain_name.conf
VirtualHost 파일 블록은 다음과 같습니다.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName domain_name
ServerAlias www.domain_name
DocumentRoot /var/www/domain_name/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
노트 : 웹 사이트 파일 구성 방식에 따라 'DocumentRoot' 다를 수 있습니다.두 가지 일반적인 설정이 있습니다.
/var/www/domain_name/
├── public_html/
│ ├── index.html
│ ├── about.html
│ └── .htaccess
└── logs/
/var/www/domain_name/
├── index.html
├── about.html
└── .htaccess
둘 다 유효하지만 .htaccess 파일의 영향을 받기를 원하거나 원하지 않는 사이트 파일을 알고 있어야합니다.
내 가상 호스트 블록 다음 디렉토리 컨텐츠 블록 추가 :
<VirtualHost *:80>
<Directory /var/www/domain_name/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
이 지침, 특히 '모든 것을 허용하십시오'주어진 디렉토리 내의 모든 웹 사이트 파일에서 .htaccess 지시문을 적용 할 수있는 것입니다.
디렉토리 블록을 추가 한 후 파일을 저장하고 닫으십시오.Nano에서는 누르면 눌러 수행 할 수 있습니다 ctrl +x, 다음 와이 그리고 압박 시작하다.
.htaccess 파일의 전체 활성화를 위해서는 Apache를 다시 시작해야합니다.
Red Hat 기반 시스템 (Centos, Fedora, Rhel)의 경우 :
sudo systemct1 restart httpd
데비안 기반 시스템 (Debian, Ubuntu, Linux Mint)의 경우 :
sudo systemct1 restart apache2
그게 다야!Apache를 사용하면 주어진 디렉토리 내에서 .htaccess 파일을 사용할 수 있습니다.
.htaccess enabled를 지원하면 이제 .htaccess 파일을 만들 수 있습니다.
.htaccess 파일을 만들려면 루트 디렉토리 .htaccess 파일을 활성화했습니다.선호하는 텍스트 편집기를 사용하여 (다시 Nano를 사용하겠습니다) 입력 다음 명령을 대체합니다.도메인 이름'도메인 이름으로.
노트 : 제거하다 'public_html'해당 하위 디렉토리에서 .htaccess 파일을 활성화하지 않은 경우.
sudo nano /var/www/html/domain_name/public_html/.htaccess
이제 .htaccess 파일을 만들었고 리디렉션 지시문을 배치 할 수 있습니다.
그만큼 '리디렉션'지시문은 간단한 1 대 1 리디렉션을위한 가장 간단한 옵션입니다.이 지침은 동일한 도메인 또는 다른 도메인의 URL을 리디렉션하는 데 사용될 수 있습니다.다음 지침은 모든 3xx 상태 코드 (301, 302, 307 및 308)에 대해 작동합니다.
Redirect 301 "/original_url_path" "/new_url_path"
Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"
NS '재 작성'Directive를 사용하면 정규 표현 및 조건을 사용하여 패턴 매칭과 같은 리디렉션에 추가 규칙을 추가 할 수 있습니다.
'rewriterule'을 사용하려면 'mod_rewrite'모듈이 활성화되어 있는지 확인해야합니다.
httpd -M | grep rewrite
apache2ctl -M | grep rewrite
다음 출력이 표시되면 'mod_rewrite'모듈이 활성화됩니다.
rewrite_module (shared)
1 단계: Apache 구성 파일 열기 (일반적으로 'httpd.conf'또는 'apache2.conf')
sudo nano /etc/httpd/conf/httpd.conf
2 단계: 다음 줄에 댓글이 표시되지 않도록하십시오 (처음에는 # 없음).그렇다면 단순히 '#'를 삭제하십시오.
LoadModule rewrite_module modules/mod_rewrite.so
3 단계 : Apache를 다시 시작하여 변경 사항을 적용하십시오
sudo systemctl restart httpd
1 단계: 'mod_rewrite'모듈을 활성화하십시오
sudo a2enmod rewrite
2 단계: Apache를 다시 시작하여 변경 사항을 적용하십시오
sudo systemctl restart apache2
동일한 하위 디렉토리 (예 : /블로그)와 같은 이전 URL에 공통 패턴이있는 경우 정규식을 사용하여 일치 및 리디렉션 할 수 있습니다.
RewriteEngine On
RewriteRule ^old-section/(.*)$ http://www.example.com/new-section/$1 [R=301,L]
이 예에서는 모든 URL로 시작합니다 '구식/' 리디렉션됩니다 '신약/' 같은 접미사로.
다음 지침은 모든 트래픽을 ''모든 트래픽을 리디렉션합니다.old-domain.com' 에게 'new-domain.com, 'URI 경로 보존.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]
"HTTPS를 강제"할 때 사이트의 들어오는 HTTP 요청을 보안 HTTPS 버전으로 리디렉션합니다.
'rewriterule'지시문을 사용하여 HTTP를 강제하는 몇 가지 방법이 있습니다.
"모든 트래픽"에서 HTTPS를 강제 할 때, 도메인 또는 도메인에 관계없이 모든 들어오는 HTTP 요청을 HTTP에 리디렉션하도록 서버에 알려줍니다. 하위 도메인.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
이 강제 HTTPS 방법은 단일 도메인을 호스팅하는 서버에 이상적입니다.
특정 도메인에서 HTTPS를 강제하면 서버에 해당 도메인 (또는 하위 도메인)에 대해서만 HTTP 요청을 HTTP 요청을 리디렉션하도록 지시합니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?specific-domain\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
이 방법을 사용하여 HTTPS를 강제하는 것은 단일 서버에서 여러 도메인을 호스팅 할 때 특히 유용하며 선택 번호 만 보호하면됩니다.
'rewriterule'지시문과 함께 .htaccess 파일을 사용하여 'www'접두사를 리디렉션 할 수도 있습니다.
'www'접두사를 추가하려면 :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
'www'접두사를 제거하려면 :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
작성자 Hostwinds Team / 유월 3, 2024