<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rewrite url &#8211; Tin tức công nghệ thông tin, quảng cáo trực tuyến, mạng xã hội và công nghệ</title>
	<atom:link href="https://tuvancongnghe.net/tag/rewrite-url/feed/" rel="self" type="application/rss+xml" />
	<link>https://tuvancongnghe.net</link>
	<description>Tin tức công nghệ thông tin, quảng cáo trực tuyến, mạng xã hội và công nghệ</description>
	<lastBuildDate>Mon, 11 Sep 2017 07:09:16 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.5</generator>
	<item>
		<title>Những thủ thuật .htaccess bạn nên biết</title>
		<link>https://tuvancongnghe.net/nhung-thu-thuat-htaccess-ban-nen-biet/</link>
					<comments>https://tuvancongnghe.net/nhung-thu-thuat-htaccess-ban-nen-biet/#respond</comments>
		
		<dc:creator><![CDATA[Bảo Châu]]></dc:creator>
		<pubDate>Thu, 18 Aug 2011 08:48:38 +0000</pubDate>
				<category><![CDATA[Kiến thức tin học]]></category>
		<category><![CDATA[rewrite url]]></category>
		<category><![CDATA[sử dụng .htaccess]]></category>
		<guid isPermaLink="false">http://tuvancongnghe.net/?p=1899</guid>

					<description><![CDATA[Dòng lệnh bắt đầu .htaccess Dòng lệnh .htaccess của bạn nên bắt đầu như sau : RewriteEngine On RewriteBase / Dòng lệnh cơ bản redirect 301 Dòng lệnh redirect 301 về cơ bản có dạng như sau trong tệp tin .htaccess : redirect 301 /old/old.htm http://www.vietprotocol.com/new.htm Dòng lệnh trên thông báo chuyển rời tệp tin [&#8230;]]]></description>
										<content:encoded><![CDATA[<h4>Dòng lệnh bắt đầu .htaccess</h4>
<p>Dòng lệnh .htaccess của bạn nên bắt đầu như sau :<br />
RewriteEngine On<br />
RewriteBase /</p>
<h4><a href="http://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.gif"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-1900" title="htaccess" src="http://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.gif" alt="" width="300" height="300" srcset="https://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.gif 300w, https://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess-150x150.gif 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></h4>
<h4>Dòng lệnh cơ bản redirect 301</h4>
<p>Dòng lệnh redirect 301 về cơ bản có dạng như sau trong tệp tin .htaccess :</p>
<pre>redirect 301 /old/old.htm http://www.vietprotocol.com/new.htm</pre>
<p>Dòng lệnh trên thông báo chuyển rời tệp tin <code>old.htm</code> trong thư mục <code>old</code> đến vị trí mới tại <code>http://www.vietprotocol.com/new.htm</code>.</p>
<p>Chú ý : Để bắt đầu thì bạn nên redirect 301 các trang trên cũng host, bạn chỉ nên chuyển các trang cũ đến thư mục gốc tương đối. Có thể thực hiện việc này bằng việc loại bỏ “http://www.vietprotocol.com/” mà chỉ thêm đường dẫn tương đối đến thư mục gốc.</p>
<p>Điểm mạnh nhât của việc thay đổi hàng loạt đường dẫn URL chính là mod_rewrite của Apache, đặc biệt là khi thay đổi tên miền hay thư mục<br />
hay số lượng lớn các tập tin. Chúng ta hãy tìm hiểu phần tiếp theo.</p>
<h4>Chuyển toàn bộ đến tên miền mới</h4>
<p>Nếu bạn quyết định thay đổi tên miền thì các đường dẫn trước đây từ các website bên ngoài, từ máy tìm kiếm và ngay cả các đường dẫn tuyệt đối trên website cũ đều bị thay đổi và khi bạn truy cập, các địa chỉ trên sẽ trỏ bạn đến trang báo lỗi 404 : trang không tìm thấy.</p>
<p>Vì thế nếu bạn thay đổi tên miền thì đừng để mất các liên kết quí báu và người dùng tiềm năng từ máy tìm kiếm, hãy redirect các liên kết cũ tới tên miền mới :</p>
<pre>Options +FollowSymLinks

RewriteEngine on

RewriteRule (.*) http://www.vietprotocol.com/$1 [R=301,L]</pre>
<p>Hãy thay đổi <code>www.vietprotocol.com</code> bằng tên miền mới của bạn.</p>
<h4>Redirect toàn bộ trang trong một thư mục đến mọt trang mới</h4>
<p>Giả sử như bạn không còn sử dụng thư mục “thuthuatseo” nữa và muốn chuyển tất cả các trang trong thư mục này đến trang “seoblog.php” thì hãy thêm dòng lệnh sau vào tệp tin .htaccess nằm tại thư mục gốc :</p>
<pre><code>RewriteRule ^thuthuatseo(.*)$ /seoblog.php [L,R=301]</code></pre>
<h4>Chuyển các trang động tới một trang mới</h4>
<p>Để chuyến trang web động <code>page.php?id=n</code> (với n là giá trị biến) tới một trang tĩnh mới <code>new-page.html</code> thì bạn có thể làm như sau :</p>
<pre>RewriteRule ^page.php?id=(.*)$ /new-page.htm [L,R=301]</pre>
<h4>URL với www hay không www</h4>
<p>Đôi khi các bạn bắt gặp việc website sử dụng “www” trong URL (Ví dụ như http://truongchieu.byethost8.com), trong khi có những website lại không dùng “www” này như http://aevn.fr . Nên nhớ rằng “tương ứng” với dịch vụ Web. Các bạn có thể lựa chọn riêng cho mình. Nhưng không thể chọn cả hai vì sẽ gây ra trùng lặp nội dung. sau đây là hai ví dụ, hướng dẫn bạn sủ lý triệt để vấn đề này.</p>
<h4>Trường hợp sử dụng www</h4>
<h4>Options +FollowSymLinks</h4>
<pre>RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.vietprotocol.\.net$ [NC]

RewriteRule ^(.*)$ http://www.vietprotocol.com/$1 [R=301,L]</pre>
<p>Ngoài ra còn có cách viết sau có thể áp dụng cho tất cả các host và domain, không phải edit lại :</p>
<pre>Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6} [NC]

RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$     [NC]

RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]</pre>
<h4>Trường hợp không sử dụng www</h4>
<pre>Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^aevn\.fr$ [NC]

RewriteRule ^(.*)$ http://aevn.fr/$1 [R=301,L]</pre>
<p>Bạn có thể thử lại với các tên miền ví dụ trên mà tớ áp dụng thành công đúng như trích dẫn.</p>
<h4>Loại bỏ Query_String</h4>
<p>Đôi khi một trang web của bạn có thể hiển thị hai đường dẫn url khác nhưng ( cùng một nội dung) ví dụ <code>seo-tools.php</code> và <code>seo-tools.php?v=mobile</code>. Tương tự như phần trên, điều này sẽ tạp ra nội dung trùng lặp trên website của bạn. Vì vậy bạn có thể loại bỏ các tham biến như sau :</p>
<pre>RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/

RewriteCond %{QUERY_STRING} !^$

RewriteRule .* http://www.vietprotocol.com%{REQUEST_URI}? [R=301,L]</pre>
<p>Ngoài ra nếu như tham biến QUERY_STRING không được gấn giá trị nào hết và URl kết thúc bởi biến rỗng “?”, thì bạn nên loại bỏ chúng, ví dụ “index.php?” :</p>
<pre>RewriteEngine On

RewriteBase /

RewriteCond %{QUERY_STRING} .

RewriteRule ^index.php /index.php? [L]</pre>
<h4>Chuyển phần đuôi mở rộng từ .php sang .html</h4>
<p>Việc chuyển .php sang .html có tác dụng khi bạn cần viết lại đường dẫn thân thiện với máy tìm kiếm (Friendly URL for SEO).</p>
<pre>RewriteRule ^(.*)\.html$ $1.php [R=301,L]</pre>
<h4>Chuyển gạch dưới (_) thành gạch ngang(-)</h4>
<p>Dù Google mới chấp nhận việc sử dụng gạch dưới “_” như là ký tự ngăn cách, nhưng trong thực tế người dùng vẫn quen thuộc với dấu gạch ngang “-”. Bản thân vietprotocol cũng ủng hộ dấu gạch ngang vì nó dễ nhìn hơn. Bạn có thể chuyển đổi toàn bộ dấu “_” sang “-” như sau :</p>
<pre>Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteRule !\.(html|php)$ - [S=4]

RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]

RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]

RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]

RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]

RewriteCond %{ENV:uscor} ^Yes$

RewriteRule (.*) http://www.vietprotocol.com/$1 [R=301,L]</pre>
<h4>Redirect WordPress Feeds tới Feedburner</h4>
<p>Trong bài viết sử dụng Feedbuner, các bạn có thể sử dụng plugin để quản lý Feeds RSS trên Blog WordPress. Nếu không các bạn có thể sử dụng code htaccess sau :</p>
<pre>RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} ^/feed\.gif$

RewriteRule .* - [L]

RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]

RewriteRule ^feed/?.*$ http://feeds.vietprotocol.com/quangbaweb/ [L,R=302]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]</pre>
<p>Đối với người dùng WordPress, các bạn có thể sử dụng plug-in Redirection Permanent Link để chuyến hướng các trang.</p>
<h4>Bào vệ ăn cắp tài nguyên và băng thông</h4>
<p>Đôi khi các tài liệu, film hay hình ảnh mà bạn tải trên host của mình bị người khác dùng và đăng trên website khác sẽ gây tốn băng thông, bạn có thể hạn chế việc ăn cắp bằng cách chỉ cho phép các tài nguyên trên tiếp cận trên những website bạn cho phép như sau (Nếu không sẽ trả về thư mục /feed/) :</p>
<pre>RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www\.)?vietprotocol.com/.*$ [NC]

RewriteRule \.(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]</pre>
<h4>Ứng dụng redirect 301 trên các máy chủ khác (ngoài Apache)</h4>
<h4>IIS redirect</h4>
<p>Trong phần quản trị dịch vụ internet, nhấn phải chuột chọn tệp tin và thư mục mà bạn muốn áp dụng redirect;<br />
Chon nút “a redirection to a URL”;<br />
Chọn trang Redirection;<br />
Chon tiếp “The exact url entered above” và “A permanent redirection for this resource”;<br />
Chon “Apply”.</p>
<h4>ColdFusion Redirect</h4>
<pre>&lt;.cfheader statuscode="301" statustext="Moved permanently"&gt;

&lt;.cfheader name="Location" value="http://www.vietprotocol.com"&gt;</pre>
<h4>PHP Redirect</h4>
<h4>ASP Redirec</h4>
<pre>&lt;%@ Language=VBScript %&gt;

&lt;% Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.vietprotocol.com/" %&gt;</pre>
<h4>ASP .NET Redirect</h4>
<h4>JSP (Java) Redirect</h4>
<p>&lt;% response.setStatus(301); response.setHeader( &#8220;Location&#8221;, &#8220;http://www.vietprotocol.com/&#8221; ); response.setHeader( &#8220;Connection&#8221;, &#8220;close&#8221; ); %&gt;</p>
<h4>CGI PERL Redirect</h4>
<pre>$q = new CGI;

print $q-&gt;redirect("http://www.vietprotocol.com/");</pre>
<h4>Ruby on Rails Redirect</h4>
<p>def old_action<br />
headers[&#8220;Status&#8221;] = &#8220;301 Moved Permanently&#8221;<br />
redirect_to &#8220;http://www.vietprotocol.com/&#8221;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tuvancongnghe.net/nhung-thu-thuat-htaccess-ban-nen-biet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cách Rewrite URL trong PHP – Tạo đường dẫn thân thiện cho website</title>
		<link>https://tuvancongnghe.net/cach-rewrite-url-trong-php-tao-duong-dan-than-thien-cho-website/</link>
					<comments>https://tuvancongnghe.net/cach-rewrite-url-trong-php-tao-duong-dan-than-thien-cho-website/#respond</comments>
		
		<dc:creator><![CDATA[Bảo Châu]]></dc:creator>
		<pubDate>Thu, 18 Aug 2011 04:23:55 +0000</pubDate>
				<category><![CDATA[Kiến thức tin học]]></category>
		<category><![CDATA[rewrite url]]></category>
		<category><![CDATA[tối ưu hóa đường dẫn]]></category>
		<guid isPermaLink="false">http://tuvancongnghe.net/?p=1892</guid>

					<description><![CDATA[Cách Rewrite URL trong PHP Nhiều bạn thiết kế website hỏi làm sao tạo được các đường dẫn đẹp (URL Rewrite). Trước tiên chúng ta tìm hiểu cơ chế rewite: Rewrite Engine là một phần dịch vụ của Webserver được dùng để thay đổi URL(đường dẫn trên trình duyệt) sang một dạng khác với nhiều [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="color: red;"> <strong>Cách Rewrite URL trong PHP </strong></span></p>
<p><a href="http://tuvancongnghe.net/wp-content/uploads/2011/08/url-rewriting.png"><img decoding="async" class="alignleft size-medium wp-image-1893" title="url-rewriting" src="http://tuvancongnghe.net/wp-content/uploads/2011/08/url-rewriting-300x121.png" alt="" width="300" height="121" srcset="https://tuvancongnghe.net/wp-content/uploads/2011/08/url-rewriting-300x121.png 300w, https://tuvancongnghe.net/wp-content/uploads/2011/08/url-rewriting.png 317w" sizes="(max-width: 300px) 100vw, 300px" /></a>Nhiều bạn thiết kế website hỏi làm sao tạo được các đường dẫn đẹp (URL Rewrite). Trước tiên chúng ta tìm hiểu cơ chế rewite: Rewrite Engine là một phần dịch vụ của Webserver được dùng để thay đổi URL(đường dẫn trên trình duyệt) sang một dạng khác với nhiều mục đích khác nhau.</p>
<p>Kỹ thuật được nói đến là URL rewriting và nó đem lại những tiện lợi sau:- Làm cho URL trở nên thân thiện với người dùng cũng như dễ dàng với các Search Engine (bộ máy tìm kiếm)- Tránh lộ các đường link quan trọng- Tránh lộ các công việc bên trong trước người dùng</p>
<p>Bản chất của việc rewrite này các bạn có thể hình dung như sau: khi bạn gõ 1 đường link lên trình duyệt như sau: http://vidu.com/news/2007/13/01 thì đây là đường dẫn ảo, và khi request đến Webserver nó sẽ đổi lại thành đường dẫn thật như sau: http://vidu.com/index.php?mod=news&amp;y&#8230;ay=13&amp;month=01 &lt;&lt; có thể là như thế này vì có nhiều cách rewrite.</p>
<p>Đối với Server Apache: để thực hiện được URL Rewriting bạn làm các bước sau:</p>
<p>1. Kích hoạt mod mod_rewrite có sẵn trong Apache bẳng cách sửa trong file httpd.conf, bạn Find đến dòng chưa rewrite_module rồi bỏ dấu # (nếu có) ở đầu đi. Sau đó restart Apache. Nếu bạn dùng các host trên internet thì có thể đã có sẵn rồi.</p>
<p>2. Tạo 1 file .htacces có nội dung như sau:<br />
Đầu tiên bật Rewrite Engine:</p>
<div>
<div>PHP Code:</div>
<div>
<p><code> <span style="color: #008000;"><em>RewriteEngine on<br />
Options +FollowSymlinks<br />
RewriteBase </em>/ </span><br />
</code></p>
</div>
</div>
<p>Tiếp đến là viết cú pháp RewriteRule:</p>
<div>
<div>PHP Code:</div>
<div>
<p><code> <em><span style="color: #008000;">RewriteRule ^Virtual_Path Real_Path </span></em><br />
</code></p>
</div>
</div>
<p>Ví dụ:</p>
<div>
<div>PHP Code:</div>
<div>
<p><code> <em><span style="color: #008000;">RewriteRule ^topic_([0-9]*).html index.php?topic=$1 </span></em><br />
</code></p>
</div>
</div>
<p>ví dụ: topic_1.html thành index.php?topic=1</p>
<div>
<div>PHP Code:</div>
<div>
<p><code> <em><span style="color: #008000;">RewriteRule ^article/([0-9]*)/page/([0-9]*) index.php?article=$1&amp;page=$2 </span></em><br />
</code></p>
</div>
</div>
<p>ví dụ: article/1/page/2 thành index.php?article=1&amp;page=2</p>
<p>Cú pháp để viết các Rule này giống như cách viết của biểu thức chính quy Regular Expression. ví dụ như sau:</p>
<p>(.*) nhận tất cả các giá trị.<br />
([0-9]*) chỉ nhận các giá trị là số, từ 0-9.<br />
([a-zA-Z]*) chỉ nhận các giá trị là chữ cái, từ a-z và A-Z.</p>
<p>3. Sau khi tạo được file htaccess bạn copy nó vào thư mục gốc của web của bạn là có thể chạy được.</p>
<p>Đối với Server IIS: các bạn download gói cần thiết về để có thể thực hiện được việc rewrite, các bạn có thể download từ 1 số trang sau:</p>
<p><a href="http://www.micronovae.com/ModRewrite/ModRewrite.html" target="_blank">http://www.micronovae.com/ModRewrite/ModRewrite.html</a><br />
<a href="http://www.qwerksoft.com/products/iisrewrite/" target="_blank">http://www.qwerksoft.com/products/iisrewrite/</a><br />
<a href="http://www.isapirewrite.com/" target="_blank">http://www.isapirewrite.com/</a><br />
<a href="http://www.motobit.com/help/url-replacer-rewriter/iis-mod-rewrite.asp" target="_blank">http://www.motobit.com/help/url-repl&#8230;od-rewrite.asp</a></p>
<p>Ngoài việc sử dụng mod url_rewrite như trên thì nếu host của bạn ko có kích hoạt mod này hoặc bạn ko có quyền để cấu hình nó như trên. Để đơn giản các bạn có thể tạo ra những cách khác nhau để làm cho URL trở nên đẹp và thân thiện hơn. Dưới đây là 1 số cách khác nhau.</p>
<p>c1 dạng như sau: http://vidu.com/index.php/news/2007/13/01 &lt;&lt; Trông rất giống với kiểu rewrite ở trên nhưng nó khác ở chỗ nó là đường dẫn thật còn url rewrite là đường dẫn ảo. Đường dân này hiểu như là 1 request đến file index.php với Query String (Xâu truy vấn) là /news/2007/13/01, các bạn tách xâu này ra rồi sử dụng theo mục đích của mình. Cách này đang được trang web 24h.com.vn sử dụng.</p>
<p>c2 dạng như sau: http://vidu.com/index.php/news_2007_13_01.html &lt;&lt; Gần giống cách 1 ở trên nhưng đường dẫn khác thân thiện với đuôi html, dễ dàng cho các search engine (máy tìm kiếm như Google, Yahoo) tìm kiếm nội dung.</p>
<p>c3 có thể viết như sau: http://vidu.com/index.php?q=news/2007/13/01 &lt;&lt; cũng gần giống cách 1 nhưng nó rõ ràng hơn, nó được dùng trong FrameWork Drupal của PHP.</p>
<p>Và có thể có nhiều cách khác nhau các bạn có thể tự nghĩ ra. Hoặc có thể dùng cách mã hoá xâu truy vấn chẳng hạn.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tuvancongnghe.net/cach-rewrite-url-trong-php-tao-duong-dan-than-thien-cho-website/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
