Điểm:1

Cách xóa hậu tố ".com" khỏi biến tên máy chủ bằng .htaccess

lá cờ ws

Tôi đang cố tạo một chuỗi chuyển hướng duy nhất trên máy chủ web Apache (Phiên bản máy chủ: Apache/2.2.15). Khi sử dụng .htaccess hoặc các mô-đun Apache bổ sung, tôi cần phân tích cú pháp đầy đủ các URL được yêu cầu để trích xuất tên máy chủ không có hậu tố .com tiêu chuẩn.

Ví dụ: tôi cần Tên nhà cung cấp từ tên máy chủ tên nhà cung cấp.com.

Doanh nghiệp mà tôi đang hỗ trợ làm việc với các nhà cung cấp bên thứ ba và đã tạo các miền cấp cao nhất duy nhất cho từng nhà cung cấp trỏ đến một thư mục con dành riêng cho nhà cung cấp trong tài liệu gốc của máy chủ web.

Ví dụ: tên nhà cung cấp.com/logo.jpg tải một nội dung cũng có thể được truy cập tại parentbusinessdomain.com/vendorname/logo.jpg

Quy ước này đã được doanh nghiệp đưa ra cách đây 10 hoặc 15 năm và có rất nhiều nhà cung cấp. Điều mà doanh nghiệp không tính đến là nhu cầu hỗ trợ triển khai HTTPS/SSL cho mỗi miền duy nhất. Nếu họ sử dụng các tên miền phụ, chẳng hạn như tên nhà cung cấp.parentbusinessdomain.com thì đây sẽ không phải là vấn đề. Trong tương lai, chúng tôi muốn từ bỏ quy ước này và chỉ cần lưu trữ hình ảnh và các nội dung khác từ https://parentbusinessdomain.com.

Vấn đề mà tôi liên tục gặp phải là dường như không có hoạt động chuỗi tiêu chuẩn Apache hoặc biến phía máy chủ đại diện hoặc trích xuất tên máy chủ mà không có chuỗi cụ thể ".com". Kiểu trích xuất chuỗi này khả thi với PHP phụ trợ hoặc Javascript giao diện người dùng nhưng có vẻ như tôi bị giới hạn với những gì bản thân .htaccess có thể làm.

Ví dụ tương tự với chức năng Javascript tùy chỉnh: https://stackoverflow.com/a/16934798/602514

parseURL('https://www.facebook.com/100003379429021_356001651189146');

Kết quả:

Vật {
tên miền: "www.facebook.com",
máy chủ: "facebook",
đường dẫn: "100003379429021_356001651189146",
giao thức: "https",
tên miền phụ: "www",
tld : "com"
}

Trường hợp dự phòng sẽ là khám phá việc ghi lại/chuyển hướng URL trong chính ứng dụng web cũ nhưng hy vọng có thể có một giải pháp tinh tế hơn từ góc độ cơ sở hạ tầng.

lá cờ kz
Có phải tất cả các miền đều có một TLD giống như ví dụ của bạn `.com`, v.v.? Bạn có bất kỳ STLD nào như `.co.uk`, v.v. không?
lá cờ kz
URL bạn đang thực sự liên kết đến là gì?
sparecycle avatar
lá cờ ws
@MrWhite các tên miền của nhà cung cấp này đều là .com, không có nghĩa là làm phức tạp mọi thứ bằng cách gợi ý rằng chúng là các loại tên miền khác nhau.Đối với tên miền đích, nếu chúng tôi chỉ có thể nói tên miền mục tiêu là example.com thì sẽ bảo vệ tính ẩn danh của khách hàng của tôi. Cảm ơn trước!
lá cờ kz
_Aside:_ "Kiểu trích xuất chuỗi này khả thi với phần phụ trợ PHP" - Bạn thực sự sẽ làm điều này theo cách tương tự trong bất kỳ ngôn ngữ nào (PHP, JS hoặc Apache); bằng cách kiểm tra tiêu đề `Host`. Apache có tất cả các công cụ. Bạn sẽ không sử dụng hàm JS như _that_ nếu bạn đang kiểm tra _current request_.
Điểm:0
lá cờ kz

Bạn có thể làm một cái gì đó như sau ở đầu .htaccess tệp bằng mod_rewrite (mặc dù điều này cũng sẽ hoạt động trực tiếp trong cấu hình máy chủ):

Viết LạiEngine Trên

RewriteCond %{HTTP_HOST} !^example\.com
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.]+) [NC]
RewriteRule ^ https://example.com/%1%{REQUEST_URI} [R=302,L]

Điều này sẽ chuyển hướng <vendorname>.com/<anything> đến https://example.com/<vendorname>/<anything>. Ở đâu <anything> nghĩa đen có thể là bất kỳ đường dẫn URL nào. Bất kỳ chuỗi truy vấn nào cũng được giữ nguyên trong quá trình chuyển hướng.

ví dụ.com là "miền doanh nghiệp mẹ". đầu tiên điều kiện, tình trạng, trạng thái chỉ cần kiểm tra xem yêu cầu chưa dành cho miền mục tiêu.

Các %1 phản hồi ngược khớp với "tên nhà cung cấp", được lấy từ tên máy chủ được yêu cầu tên nhà cung cấp.com ở phần trước CondPattern. Điều này cho phép một tên miền phụ www tùy chọn. Bạn đã đề cập rằng bạn vừa mới .com tên miền, mặc dù điều này sẽ hoạt động với bất kỳ TLD (đa cấp) nào, chỉ cần giả sử không có tên miền phụ nào khác (ngoại trừ www tùy chọn).

Trước tiên hãy thử nghiệm với chuyển hướng 302 (tạm thời) và chỉ thay đổi thành 301 (vĩnh viễn) - nếu đó là ý định - sau khi bạn đã xác nhận rằng nó hoạt động như dự kiến.

Điều mà doanh nghiệp không tính đến là nhu cầu hỗ trợ triển khai HTTPS/SSL cho mỗi miền duy nhất.

Chỉ tò mò làm thế nào chuyển hướng giải quyết điều này? Có phải chuyển hướng chỉ để bảo vệ SEO và bất kỳ liên kết ngược nào của bên thứ 3 đến các URL có dạng http://vendorname.com/logo.jpg (chỉ HTTP)? (Mặc dù bạn thường không mong đợi các liên kết ngược logo.jpg và ví dụ cụ thể này không thực sự giúp ích gì nhiều cho SEO?)

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