it-swarm-tr.com

Apache2'nin bir alt dizine yönlendirilmesi nasıl sağlanır

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 ...

70
Hamish Downer

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.

115
Hamish Downer

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.

3
Rory

Yönlendirme yönergesini kullanabilirsiniz.

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

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
0
J4yne