• Alo88.COM! là Blog cá nhân nhằm chia sẻ những kiến thức, kinh nghiệm đã làm trong các dự án về các lĩnh vực: Lập trình website, quản trị mạng, web services, server cloud, Amazon Web Services, thiết kế đồ họa, domain-hosting.
    Hy vọng sẽ hữu ích cho các bạn

Cách thức chuyển hướng, thay đổi URL trang web - Redirect

mediavn

Administrator
Staff member
#1
Redirect 301 là cách thức chuyển hướng trang web hoặc thay đổi 1 URL các SEOer và Developer thường xuyên làm việc này.

Rediect trang web có 2 dạng:

- Redirect 301: Tham số truyền thông báo cho SE biết URL 1 sẽ chuyển sang URL 2 vĩnh viễn, có nghĩa là tất cả những thế mạnh của URL 1 sẽ chuyển hết sang URL 2 (Cách này SEOer thường dùng, có giá trị).

- Redirect 302: Tham số truyền thông báo cho SE biết URL 1 sẽ chuyển tạm thời sang URL 2 (Temporary, cách này không có ý nghĩa trong SEO).

Cách thức redirect 301 được thể hiện nhiều ngôn ngữ khác nhau:

1. Redirect dùng ngôn ngữ HTML
HTML:
PHP Code [HVIT] :
<meta http-equiv="refresh" content="0;URL=http://[spam].net">
Cách này rất thủ công, và đặc biệt mất công với những trang thay đổi đồng loạt rất nhều URL. Mặt khác cách này được khá nhiều spammer lợi dụng để đánh lạc hướng SE. Chúng tập trung tối ưu hoá một trang rất tốt, sau đó redirect trang đó tới 1 trang khác có nội dung không liên quan (tất nhiên là theo mục đích riêng). Google biết điều đó, chính vì vậy không nên quá lạm dụng kỹ thuật này. Các SEO chuyên nghiệp không thích điều này.

2. Redirect 301 dùng ngôn ngữ PHP


PHP:
Code :
<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.[spam].net");
?>
3. Redirect 301 dùng ngôn ngữ ASP
C#:
Code :
<%@ Language=VBScript %>
<% Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.[spam].net/"
%>
4. Redirect 301 dùng ngôn ngữ ASP.NET
C#:
Code :
<script runat="server">
private void Page_Load(object sender, System.EventArgs e) { 
   Response.Status = "301 Moved Permanently"; 
   Response.AddHeader("Location","http://www.[spam] .net/");
}
</script>
5. Redirect 301 dùng ngôn ngữ JSP (Java Server Page)
Java:
Code :
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.[spam] .net/" ); response.setHeader( "Connection", "close" );
%>
6. Redirect 301 dùng ngôn ngữ PERL
Perl:
Code :
$q = new CGI; print $q->redirect("http://www.[spam] .net/");
7. Redirect 301 dùng ngôn ngữ Ruby on Rails
Ruby:
Code :
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.[spam] .net/"
end
8. Redirect 301 dùng IIS 7.0
C#:
Code :
<configuration>   
  <system.webServer>     
    <rewrite>       
     <rules>         
      <rule name="Redirect to WWW" stopProcessing="true">           
       <match url=".*" />           
         <conditions>             
           <add input="{HTTP_HOST}" pattern="^[spam].net$" /> 
         </conditions>           
             <action type="Redirect" url="http://www.[spam] .net/{R:0}"
               redirectType="Permanent" />       
      </rule>       
     </rules>     
    </rewrite>   
  </system.webServer>
</configuration>
9. Redirect 301 dùng tập tin .htaccess

a. Tập tin .htaccess là gì ?

htaccess là một tập tin cấu hình đặc biệt, htaccess cho phép bạn thay đổi cách hoạt động của máy chủ Apache ở tầng thư mục. Tập tin htaccess gồm các dòng lệnh, có thể tùy biến theo người dùng, được đặt trong một thư mục nào đó, nó sẽ có tác dụng cho thư mục đó và tất cả các thư mục con. Một trong những ứng dụng phổ biến của htaccess là cho phép viết lại đường dẫn URL (rewrite URL).

b. Cài đặt tập tin .htaccess

Điều đầu tiên là bạn phải đảm bào chắc server Apache của bạn hỗ trợ mod_rewrite cho phép sử dụng .htaccess để áp dụng redirect 301. Sau đó bạn phải tải tệp tin .htaccess từ thư mục gốc chứa các trang web của bạn. Nếu như bạn không có tệp tin .htaccess trong thư mục gốc thì bạn phải tạo nó với trình soạn thảo text như Notepad, Ultraedit hay EditPadPro, v.v. Phải chắc chắn rằng bạn viết đúng tên và có dấu chấm “.” đầu tệp tin.


Người sử dụng Windows sẽ không thể tạo được tệp tin .htaccess vì tệp tin đặc biệt này không chứa tên, nó chỉ chứa tên của phần tên mở rộng. Vì thế bạn hãy tải tệp tin text bất kỳ trong window rồi tải lên server qua FTP rồi đổi tên trên sever.


Sau khi tải tệp tin .htaccess xuống máy, nếu đã có các dòng lệnh trước đó thì hãy cẩn thận đừng thay đổi nếu như bạn không chắc, tốt nhất hãy sao lưu một bản để phòng trường hợp cần thiết bạn vẫn có thể quay trở lại.

c. Cách thức sử dụng .htaccess

- Cài đặt cơ bản:
PHP:
Code :
Options +FollowSymLinks 
RewriteEngine On
RewriteBase /
- Redirect 301 cơ bản
PHP:
Code :
redirect 301 /old/index.htm http://www.[spam].net/forum.htm
- Thay đổi phần mở rộng của file: Chuyển từ /forum.php sang URL mới /forum.html
PHP:
Code :
RedirectMatch 301 (.*)\.php$ http://www.example.com$1.html
- Chuyển từ http://www.[spam].net sang [spam].net
PHP:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^[spam]\.net
RewriteRule (.*) http://[spam].net/$1 [R=301,L]
- Chuyển từ [spam].net sang http://www.[spam].net
PHP:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[spam].net [NC]
RewriteRule ^(.*)$ http://www.[spam].net/$1 [L,R=301]
- Chuyển từ [spam].net/index.php sang [spam].net/
PHP:
Code :
Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
- Chuyển toàn bộ site đến tên miền mới
PHP:
Code :
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.[spam].net/$1 [R=301,L]
- Chuyển toàn bộ trang trong 1 thư mục (admin) đến 1 trang mới (cpanel.php)
PHP:
RewriteRule ^congcuseo(.*)$ /lamseo.php [L,R=301]
 

Bình Luận