Chuyển hướng tên miền Redirecting www to non-www sử dụng .htaccess

  • Thread starter Thread starter PVS
  • Ngày gửi Ngày gửi

PVS

Super Moderator
Thành viên BQT
Redirecting www to non-www sử dụng .htaccess một trong những bước của tối ưu hóa SEO tăng xếp hạng trong Google, hướng dẫn giúp bạn tránh được việc trùng lập nội dung khi website có www và không www.

Khi bạn sử dụng Apache trên máy chủ Linux được hỗ trợ mod_rewrite dùng để viết lại URL ngắn gọn dễ nhớ, thuận tiện gọn gàng và Google sẽ đánh giá cao việc này theo tiêu chuẩn URL Friendly thân thiện với người dùng.

Một số người thích sử dụng www.vnxf.vn, nhưng một số người thích vnxf.vn ngắn hơn. Không thực sự là một đúng hay sai để làm điều đó, nhưng bất cứ điều gì bạn chọn, bạn có thể chắc chắn rằng tất cả các khách truy cập của bạn được gửi đến cùng một nơi. Với một vài quy tắc đơn giản trên máy chủ, bạn có thể chọn từ non www sang www, hoặc chuyển hướng từ www không www.

Redirect www to non-www:
Mã:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.vnxf.vn [NC]
RewriteRule ^(.*)$ http://vnxf.vn/$1 [L,R=301]

Redirect non-www to www:
Mã:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^vnxf.vn [NC]
RewriteRule ^(.*)$ http://www.vnxf.vn/$1 [L,R=301]

Nếu bạn đã có một tập tin có tên. Htaccess trên website của bạn, bạn có thể thêm vào nó. Nếu không, tạo ra một files tên .htaccess trong thư mục của tên miền. Thêm một trong các quy tắc sau đây và lưu lại. Thay thế vnxf.vn với tên miền của bạn.

Cho tên miền cấp 1
Mã:
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

Cho tên miền cấp 2
Mã:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.co.uk
RewriteRule (.*) http://www.domain.co.uk/$1 [R=301,L]

Cập nhập file .htacess 2014, cách này ngắn gọn và không đụng trong 1 số trường hợp code bạn re-write hơi đặc biệt

Here are the rules to redirect a www URL to no-www:

#########################
# redirect www to no-www
#########################

RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,NE,L]
Here are the rules to redirect a no-www URL to www:

#########################
# redirect no-www to www
#########################

RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]
Note that I used NE flag to prevent apache from escaping the query string. Without this flag, apache will change the requested URL http://www.vnxf.vn/?htacess to http://www.example.com/?htacess

Chúc các bạn thành công.


Nguồn: imsvietnam.com​
 
  • Like
Reactions: THB
Cái này 50-50. Tùy thích thôi. Biết thêm là đc rồi.hiii
 
em cũng đang thắc mắc như trên

website em thì có dạng này: www.domain.com
diễn đàn thì có dạng này: domain.com/diendan.
em muốn chuyển website về non www cho trùng với diễn đàn thì có áp dụng được cách trên không.
- em đã chuyển được website còn diễn đàn thì chưa chuyển được bác nào chuyển được rồi giúp em với.
hiện tại diễn đàn vẫn chưa 301 về non www
 
Sửa lần cuối:
  • Like
Reactions: THB
mình thử thêm đoạn này vào file htacess rồi mà vẫn ko đc bác @PVS:((, đã sửa lại thành domain của mình nhé mà vẫn ko đc

Mã:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.vnxf.vn [NC]
RewriteRule ^(.*)$ http://vnxf.vn/$1 [L,R=301]
 
Mình làm như hướng dẫn bên trên thì không được, nhưng làm theo một trang khác nó như thế này thì được.

Mã:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.vnxf\.vn [NC]
RewriteRule ^(.*)$ http://vnxf.vn/$1 [L,R=301]

Nhưng nó chỉ 301 cái trang chủ, còn tất cả link khác, kể cả vào forum cũng bị hiện 404, mình đã xóa đoạn code trên trong htacess nhưng nó ko về lại bình thường mà vẫn 404 tất cả link trừ trang chủ :(

Bác nào biết vấn đề này như thế nào không ạ :((((
 
  • Like
Reactions: THB
Back
Top