Cách nhận Apache2 để chuyển hướng đến thư mục con


66

Tôi đang chạy apache2 trên Debian etch, với nhiều máy chủ ảo.

Tôi muốn chuyển hướng để http://git.example.comđi đếnhttp://git.example.com/git/

Điều này thực sự đơn giản, nhưng Google không hoàn toàn cắt giảm. Tôi đã thử các công cụ Chuyển hướng và Viết lại và họ dường như không làm những gì tôi muốn ...


Có nhiều cách bạn có thể tiếp cận điều này, nhưng chính xác những gì bạn đang cố gắng thực hiện là gì?
WerkkreW

Câu trả lời:


111

Cảm thấy một chút ngớ ngẩn - một chút googling bật lên câu trả lời tôi sau:

RedirectMatch ^/$ /git/

Về cơ bản chuyển hướng gốc, và chỉ gốc.

Mã này có thể làm trong một .htaccesstệp (có một thẻ cho điều này, vì vậy tôi giả sử đó là trường hợp sử dụng ban đầu). Nhưng nếu bạn có thể chỉnh sửa, cấu hình apache máy chủ chính sẽ đặt nó trong phần dành cho trang web của bạn có thể nằm trong một <VirtualHost>phần.

Các tài liệu cho RedirectMatch nói rằng bối cảnh có thể là "cấu hình máy chủ, máy chủ ảo, thư mục, .htaccess".


2
ok, vậy đặt dòng mã này ở đâu?
dùng230910

Tôi đã phải đặt một URI ( https://example.com/git/) đầy đủ để nó hoạt động. Lạ thật.
Mat M

3

Bạn đã có câu trả lời đúng ở đó với chuyển hướng. Bạn phải cẩn thận khi chuyển hướng mọi thứ đến một nơi khác, vì bạn có thể nhận được chuyển hướng đệ quy ở đó. Điều này xảy ra nếu bạn muốn đưa lên một trang bảo trì.


4
Thật. Redirect / /git/kết quả trong pháo hoa đệ quy.
Davor Josipovic

3

Bạn có thể sử dụng Redirect directive.

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

0

Câu trả lời được chấp nhận đã giải quyết vấn đề của tôi, nhưng tôi cũng thấy rằng tôi phải thêm chuyển hướng 404 cho các trang không tồn tại - tình huống của tôi là có cài đặt ownCloud nằm ở một cấp dưới gốc ( https://example.com/owncloud ) .

Điều này làm việc cho tôi, để gửi mọi thứ đến thư mục con của tôi:

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

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

2
ErrorDocument sẽ trả về một trang lỗi, không phải là một tài liệu hữu ích. Điều này rất quan trọng đối với các trình thu thập thông tin.
Jonah Benton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.