2010-07-16 32 views
22

Tôi biết bạn có thể chỉnh sửa một tập tin host để chuyển hướng một URL đến một địa chỉ IP như vậy:Chỉnh sửa tệp máy chủ để chuyển hướng url?

127.0.0.1 google.com

nhưng làm thế nào để bạn buộc một chuyển hướng đến một URL thay vì một địa chỉ IP ?

ví dụ:

mysite.com/welcome.aspx google.com

URL rõ ràng không hoạt động và IP giả mysite.com là 222.222.222.222, sau đây không làm việc, hoặc:

222,222. 222.222/welcome.aspx google.com

Trả lời

7

Bạn không thể. Chuyển hướng yêu cầu máy chủ web chấp nhận yêu cầu đầu tiên và gửi lại chuyển hướng. Tệp "hosts" chỉ cho phép bạn thiết lập bản ghi DNS của riêng bạn.

+4

Không có lý do tại sao một chuyển hướng không thể được thực hiện tại địa phương. – Pacerier

0

host file:

1.2.3.4 google.com 

1.2.3.4 - chỉ IP của máy chủ của bạn.

Chạy tập lệnh trên máy chủ để chuyển hướng người dùng đến url mà bạn muốn.

7

Không, nhưng bạn có thể mở máy chủ web tại, ví dụ: 127.0.0.77 và sử dụng máy chủ để kiểm tra xem URI yêu cầu có "/welcome.aspx" ... Nếu có chuyển hướng đến google, nếu không tải trang gốc.

127.0.0.77  mysite.com 
+1

Điểm tốt, tôi đã sử dụng điều này như một công cụ chặn quảng cáo dừng cho khoảng.10 tên miền (nó không mở rộng tốt cho số lượng tên miền lớn hơn, ít nhất không phải trên Windows) – Piskvor

+1

@Piskvor, tệp 'hosts' được cho là mở rộng đến hàng nghìn dòng ... Vui lòng giải thích ý bạn là gì? 't quy mô tốt', Bạn có nhận được BSOD không? – Pacerier

0

Bạn có thể sử dụng chỉ thị RedirectMatch trong Apache để làm điều gì đó tương tự như bạn muốn.

Nó khá đơn giản.

RedirectMatch/http://222.222.222.222/

Dù sao, tôi không thể nhìn thấy bất kỳ lý do để làm điều đó. Không phải bạn đang cố ngăn chặn giao thông? Có nhiều cách tốt hơn. Đối với các hộp Linux làm bộ định tuyến: iptables -j REDIRECT + Mực hoặc Apache. Đối với các bộ định tuyến của Cisco, bạn có thể sử dụng WCCP cho Bộ nhớ cache hoặc Máy chủ Web ...

1

Áp dụng thủ thuật này.

Trước tiên, bạn cần địa chỉ IP của url bạn muốn chuyển hướng đến. Cho phép nói rằng bạn muốn chuyển hướng đến stackoverflow.com Để tìm nó, hãy sử dụng lệnh ping trong Dấu nhắc Lệnh. Nhập:

ping stackoverflow.com 

vào cửa sổ nhắc lệnh và bạn sẽ thấy địa chỉ IP số của stackoverflow. Bây giờ sử dụng IP vào file host của bạn

104.16.36.249 google.com

Yay tại google đang phục vụ stackoverflow :)

+4

Tôi biết chủ đề này là khá cũ, nhưng tôi muốn thêm một lưu ý ở đây. Câu trả lời này sẽ ** không bao giờ hoạt động ** nếu máy chủ sử dụng CDN hoặc máy chủ ảo. Điều này ** chỉ áp dụng ** trên các máy chủ có ** IP riêng **. Câu trả lời này có vẻ đúng, nhưng nó là ** hoàn toàn sai ** đối với trường hợp StackOverflow. Nó sử dụng Cloudflare như CDN – mob41

Các vấn đề liên quan