Apache2'nin bir alt dizine yönlendirmesini sağlama


66

Birden fazla sanal ana makineyle birlikte apian2'yi Debian etch'te çalıştırıyorum.

Ben yönlendirmek istiyorum böylece http://git.example.comgiderhttp://git.example.com/git/

Gerçekten basit olmalı, ancak Google oldukça kesmiyor. Yönlendirme ve Yeniden Yazma öğelerini denedim ve istediklerimi yapmıyorlar ...


Buna yaklaşmanın birçok yolu var, ama tam olarak başarmaya çalıştığınız şey nedir?
WerkkreW

Yanıtlar:


111

Biraz aptalca hisset - biraz daha googling peşinde olduğum cevabı buldu:

RedirectMatch ^/$ /git/

Temelde kök ve sadece kök yönlendiriliyor.

Bu kod bir .htaccessdosyada yapabilirdi (bunun için bir etiket var, bu yüzden orijinal kullanım durumu olduğunu varsayıyorum). Ancak, düzenleyebiliyorsanız, ana sunucu apache config'i daha sonra web siteniz için muhtemelen bir <VirtualHost>bölümün içine yerleştirin .

RedirectMatch için dokümanlar söylüyorlar bağlam "sunucu geneli, sanal konak, dizin, .htaccess" olabilir.


2
Tamam, bu kod satırını nereye koyayım?
user230910,

Bunun https://example.com/git/çalışması için tam bir URI ( ) koymak zorunda kaldım . Garip.
Mat M

3

Yönlendirme ile orada doğru cevabı var. Oradaki özyinelemeli yönlendirmeleri alabileceğinizden, her şeyi başka bir yere yönlendirirken dikkatli olmalısınız. Bir bakım sayfası hazırlamak istiyorsanız bu olur.


4
Aslında. Redirect / /git/özyinelemeli havai fişek sonuçlanır.
Davor Josipovic

3

Redirect direktifini kullanabilirsiniz.

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

0

Kabul edilen cevap sorunumu çözdü, ancak var olmayan sayfalar için 404 yönlendirmesi eklemek zorunda kaldığımı da tespit ettim - durumum root seviyesinin altında bir OwnCloud kurulumuna sahip olmam ( https://example.com/owncloud ). .

Bu benim için her şeyi alt dizime göndermek için çalıştı:

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

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

2
ErrorDocument, yararlı bir belge değil bir hata sayfası döndürmelidir. Bu, tarayıcılar için önemlidir.
Jonah Benton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.