Trải nghiệm của tôi sau vài ngày lục lọi SO và các hướng dẫn của máy chủ khác thật đáng thất vọng. Tuy nhiên, tôi cherry-nhặt những phần workful tốt nhất của tất cả trong số họ và mang lại những điều sau đây:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain3\.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain3\.com$
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/" [R=301,L]
- Định dạng trên cũng là theo cPanel phong cách chuyển hướng thực hiện trong GUI.
- Chuyển hướng của www. phiên bản và không phải www. phiên bản của tên miền là một trong những vấn đề mà các giải pháp khác (ít nhất tôi đã thử em!) không thể giải quyết nó.
- Chú ý đến
^/?$
trong RewriteRule
Nếu bạn muốn chuyển hướng phiên bản www của tên miền chính lên phiên bản phi www của nó, hai dòng cuối cùng nên là như thế này:
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^/?$ "http\:\/\/domain\.com\/" [R=301,L]
Chuyển hướng tốt!
Nguồn
2016-10-08 08:14:09
Vì '[OR]' ở cuối mỗi tên miền không có trong câu trả lời của bạn và giải quyết được vấn đề của tôi. – qwerty