Apache2를 하위 디렉토리로 리디렉션하는 방법 Debian etch에서 apache2를 실행

여러 가상 호스트가있는 Debian etch에서 apache2를 실행 중입니다.

나는 재 지정하려는 그래서 http://git.example.com간다http://git.example.com/git/

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



답변

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

RedirectMatch ^/$ /git/

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

이 코드는 .htaccess파일 에서 할 수 있습니다 (이에 대한 태그가 있으므로 원래 사용 사례라고 가정합니다). 그러나 주 서버 아파치 구성을 편집 할 수 있다면 웹 사이트 섹션에 넣을 수 <VirtualHost>있습니다.

RedirectMatch문서에 따르면 컨텍스트 는 “서버 구성, 가상 호스트, 디렉토리, .htaccess”일 수 있습니다.


답변

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


답변

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

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

답변

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

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

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

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