Apache2'yi Debian etch üzerinde birden fazla sanal ana bilgisayarla çalıştırıyorum.
Yönlendirmek istiyorum, böylece http://git.example.com
gider http://git.example.com/git/
Gerçekten basit olmalı, ancak Google bunu kesmiyor. Yönlendirme ve Yeniden Yazma öğelerini denedim ve tam olarak istediğimi yapmıyorlar ...
Biraz aptal hissediyorum - biraz daha fazla googling peşinde olduğum cevabı getirdi:
RedirectMatch ^/$ /git/
Temel olarak kök ve sadece kök yeniden yönlendiriliyor.
Bu kod bir .htaccess
dosyası (bunun için bir etiket var, bu yüzden orijinal kullanım durumu olduğunu varsayalım). Ancak, düzenleyebiliyorsanız, ana sunucu Apache config daha sonra web siteniz için bölüme muhtemelen <VirtualHost>
Bölüm.
redirectMatch için docs , context ifadesinin "sunucu yapılandırması, sanal Ana Bilgisayar, dizin, .htaccess" olabileceğini söylüyor.
Burada yönlendirme ile doğru cevabı aldınız. Her şeyi başka bir yere yönlendirirken dikkatli olmalısınız, çünkü orada tekrarlı yönlendirmeler alabilirsiniz. Bir bakım sayfası oluşturmak istiyorsanız bu olur.
Yönlendirme yönergesini kullanabilirsiniz.
<Directory />
Redirect permanent / http://git.example.com/git/
...
</Directory>
Kabul edilen cevap sorunumu çözdü, ancak var olmayan sayfalar için 404 yönlendirmesi eklemek zorunda olduğumu da buldum - durumum root'un bir düzey altında bir OwnCloud kurulumuna sahip olması ( https: // örnek). com/owncloud ).
Bu benim için çalıştı, her şeyi alt dizinime göndermek için:
# redirect from root to subdirectory
RedirectMatch ^/$ /thesubdirectory/
# redirect on 404 to subdirectory
ErrorDocument 404 /thesubdirectory/index.php