it-swarm-ko.tech

Apache2를 하위 디렉토리로 리디렉션하는 방법

여러 가상 호스트가있는 데비안 에칭에서 Apache2를 실행하고 있습니다.

http://git.example.com 로 이동 http://git.example.com/git/

정말 간단해야하지만 Google은 잘 자르지 않습니다. 나는 Redirect와 Rewrite를 시도했지만 그것들이 내가 원하는 것을하지 않는 것 같습니다 ...

70
Hamish Downer

조금 어리석은 느낌-조금 더 인터넷 검색으로 내가 찾은 답을 찾았습니다.

RedirectMatch ^/$ /git/

기본적으로 루트와 루트 만 리디렉션합니다.

이 코드는 .htaccess 파일 (이에 대한 태그가 있으므로 원래 사용 사례라고 가정합니다). 그러나 편집 할 수있는 경우 기본 서버 Apache 구성은 웹 사이트의 섹션 인 <VirtualHost> 부분.

docs for RedirectMatchcontext 가 "서버 구성, 가상 호스트, 디렉토리, .htaccess"일 수 있다고 말합니다.

115
Hamish Downer

리디렉션과 함께 정답이 있습니다. 재귀 적 리디렉션을 얻을 수 있으므로 모든 것을 다른 곳으로 리디렉션 할 때는주의해야합니다. 유지 보수 페이지를 작성하려는 경우에 발생합니다.

3
Rory

리디렉션 지시문을 사용할 수 있습니다.

<Directory />
   Redirect permanent / http://git.example.com/git/
   ...
</Directory>
3
Steve Chui

수락 된 답변으로 문제가 해결되었지만 존재하지 않는 페이지에 404 리디렉션을 추가해야한다는 것을 알았습니다. 내 상황은 OwnCloud 설치가 루트 ( https : // example. com/owncloud ).

이것은 하위 디렉토리로 모든 것을 보내기 위해 나를 위해 일했습니다.

# redirect from root to subdirectory
RedirectMatch ^/$ /thesubdirectory/

# redirect on 404 to subdirectory
ErrorDocument 404 /thesubdirectory/index.php
0
J4yne