2012-01-06 33 views
12

Im di chuyển trang web của tôi từ .co.uk sang .com nhưng cần thiết lập chuyển hướng 301 để tất cả các trang riêng lẻ sẽ vẫn được định tuyến chính xác.chuyển hướng htaccess .co.uk sang .com cho tất cả các trang

tức là tôi muốn http://www.mydomain.co.uk/shopping/product1 đến http://www.mydomain.com/shopping/product1

Tôi đã làm điều này trước nhưng đối với cuộc sống của tôi không thể nhớ như thế nào.

cảm ơn nhiều

paul

Trả lời

1

này được thực hiện bằng cách sử dụng viết lại đơn giản được đặt trong tập tin .htaccess bạn.

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^mydomain.co.uk$ [NC] 
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301] 
+0

Điều này có thể hơi tích cực. Hãy xem xét nếu người dùng có các tên miền khác mà họ không muốn chuyển hướng. –

+0

RewriteCond của bộ quy tắc này sẽ giới hạn RewriteRule chỉ ảnh hưởng đến máy chủ mydomain.co.uk. – FrozenFire

+0

Không, bạn đang phủ nhận điều kiện ('!'). Vì vậy, điều này đọc bất cứ điều gì đó không phải là ** mydomain.co.uk **. –

25
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.co\.uk$ [NC] 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 

này chuyển hướng cả www và không www cho mydomain.co.uk để www.mydomain.com.

+0

hoàn hảo! làm thế nào để chăm sóc www và không www cho .com? để tất cả bốn trường hợp (www & non-www, .co.uk và .com) đều truy cập vào cùng một www.mydomain.com? – hawbsl

+0

là đủ để thêm RewriteCond thứ hai sau lần đầu tiên của bạn ... như vậy: – hawbsl

+0

RewriteCond% {HTTP_HOST}^mydomain \ .com $ [NC] – hawbsl

3

Để chuyển hướng bất kỳ (phụ) tên miền nào ngoài mydomain.com, sử dụng

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^mydomain.com$ [NC] 
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301] 

Có thể hữu ích nếu bạn có các miền khác trỏ đến cùng một trang web.

Nó cũng chuyển hướng www.mydomain.com đến mydomain.com.

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