“영구적 리디렉션”과 mod_rewrite RewriteRule의 차이점


9

이것은 Apache httpd 2.2 서버입니다.

이 웹 서버에 대한 액세스는 HTTPS로 암호화해야합니다.

웹 클라이언트가 내 사이트 http://www.example.org/ $ foo (포트 80)를 방문하면 HTTPS 암호화 웹 사이트 https://www.example.org/ $ foo로 요청을 리디렉션하고 싶습니다 .

이 작업을 수행하는 두 가지 일반적인 방법이 있습니다.

첫 번째 방법은 mod_alias 의 ' Redirect '지시문을 사용합니다 .

<VirtualHost *:80>
    Redirect permanent / https://www.example.org/
</VirtualHost>

두 번째 방법은 mod_rewrite를 사용합니다.

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

"영구적 재 지정"과 mod_rewrite 스탠자의 차이점은 무엇입니까? 하나는 다른 것보다 낫습니까?

답변:


8

기본적으로 mod_rewrite는 일시적인 "302 Found"리디렉션을 수행합니다. 다른 모든 것이 같다고 가정하면과 Redirect permanent같습니다 RewriteRule <blah> [R=permanent].


실제로, Redirect지시문은 http에서 https 로의 리디렉션을 더 잘 처리합니다. 아래 Stefan의 의견을 참조하고 Apache 설명서의이 섹션을 확인하십시오. httpd.apache.org/docs/current/rewrite/avoid.html#redirect
Gondy

7

하나는 다른 것보다 낫습니까?

아파치는 현재의 사용을 권장 Redirect에서 mod_alias대신 사용 RewriteRule에서을 mod_rewrite. https://httpd.apache.org/docs/current/rewrite/avoid.html#redirect를 참조 하십시오 .

다른 대안이 필요한 경우 mod_rewrite를 최후의 수단으로 고려해야합니다. 더 간단한 대안이있을 때이를 사용하면 혼란스럽고 깨지기 쉬우 며 유지 관리가 어려운 구성이됩니다.


5

검색 엔진은 영구적 인 리디렉션을보고 색인을 적절히 업데이트합니다.


> 하나는 다른 것보다 낫습니까?
Stefan Lasiewski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.