Điểm:0

Apache, chuyển hướng cho một thư mục di chuyển

lá cờ in

Trên máy chủ web của chúng tôi, một thư mục đã được "sao chép" từ vị trí này sang vị trí khác. Hiện tại, vị trí ban đầu đã biến mất, tuy nhiên, tôi nhận được yêu cầu cung cấp chuyển hướng đến vị trí mới.

Tôi cho rằng mod_rewrite sẽ là cách tốt nhất để làm điều này, mặc dù tôi không ở trên sử dụng các phương pháp khác nếu có. Lược đồ URL là như thế này.

URL cũ: www.exampleurl.com/subdir1/olddirectory/subdir2
URL mới: www.exampleurl.com/subdir1/newdirectory/subdir2

Subdir1 sẽ không bao giờ thay đổi vì vậy nó và phần .com có ​​thể bị bỏ qua. Tuy nhiên các thư mục subdir2 thường được truy cập trực tiếp và có nhiều tùy chọn khác nhau.

Chúng tôi đã sử dụng mod_rewrite để chuyển hướng tất cả lưu lượng truy cập qua SSL/TLS nên việc tiếp tục với điều đó có thể sẽ hoạt động tốt nhất.

Tôi cảm thấy rằng có một số thông tin bị thiếu ở đây dựa trên các nhận xét và câu trả lời cho đến nay. Vì vậy, đây là cách trang web và thư mục được đề cập được định cấu hình, ở cấp độ siêu cơ bản. Hy vọng rằng điều này sẽ giúp với câu trả lời hơn nữa.

Trang web được trải rộng giữa hai cấu hình VirtualHost trong hai tệp, một cho HTTP và một cho HTTPS. HTTP VirtualHost chứa điều kiện và quy tắc mod_rewrite để tất cả lưu lượng truy cập vào đó được chuyển hướng đến cổng HTTPS. Các thư mục được đề cập được định cấu hình trong các tệp riêng biệt trong chế độ conf-enabled. Cả hai đều bao gồm một khai báo Bí danh và một khu vực Thư mục. Bí danh là cần thiết vì các tệp thực tế nằm trong thư mục /mnt dưới dạng gắn kết NFS.

lá cờ kz
Chính xác thì bạn đang sử dụng các chỉ thị này ở đâu? _Bên cạnh:_ Nếu các lệnh này nằm trong cấu hình máy chủ thì có lẽ bạn nên _not_ là "us[ing] mod_rewrite để chuyển hướng tất cả lưu lượng truy cập qua SSL/TLS". YMMV.
Chris Woelkers avatar
lá cờ in
Khi thư mục gốc không còn nữa, các lệnh sẽ được đặt trong cấu hình máy chủ.
Điểm:1
lá cờ kz

Sử dụng mod_rewrite bạn có thể làm điều gì đó như thế này:

RewriteRule ^/?(subdir1)/olddirectory(?:$|/)(.*) https://www.example.com/$1/newdirectory/$2 [R=301,L]

Ở trên sẽ chuyển hướng như sau:

  • /subdir1/olddirectory đến /subdir1/newdirectory/
  • /subdir1/olddirectory/ đến /subdir1/newdirectory/
  • /subdir1/olddirectory/<cái gì đó> đến /subdir1/newdirectory/<cái gì đó>

Và chuyển hướng đến HTTPS + tên máy chủ chính tắc, vì vậy có thể đặt trước chuyển hướng chuẩn hiện tại của bạn để giảm thiểu số lần chuyển hướng.

Trước tiên hãy thử nghiệm với chuyển hướng 302 (tạm thời) để tránh các sự cố về bộ nhớ đệm.

Chris Woelkers avatar
lá cờ in
Bạn đề cập đến việc đặt chuyển hướng trước chuyển hướng chính tắc hiện có. Chuyển hướng hiện có nằm trong tệp cấu hình máy chủ ảo http và có một tệp cấu hình máy chủ ảo khác cho https. Chuyển hướng mới sẽ được đặt trong một hoặc cả hai? Hoặc có lẽ trong tập tin riêng của nó?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.