<?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>tối ưu hóa đường dẫn &#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/toi-uu-hoa-duong-dan/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>Thu, 09 Nov 2017 03:35:50 +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>Tối ưu và bảo mật website bằng file .htaccess</title>
		<link>https://tuvancongnghe.net/toi-uu-va-bao-mat-website-bang-file-htaccess/</link>
					<comments>https://tuvancongnghe.net/toi-uu-va-bao-mat-website-bang-file-htaccess/#respond</comments>
		
		<dc:creator><![CDATA[Bảo Châu]]></dc:creator>
		<pubDate>Thu, 18 Aug 2011 06:59:21 +0000</pubDate>
				<category><![CDATA[Kiến thức tin học]]></category>
		<category><![CDATA[sử dụng .htaccess]]></category>
		<category><![CDATA[tối ưu hóa đường dẫn]]></category>
		<category><![CDATA[tối ưu hóa website]]></category>
		<guid isPermaLink="false">http://tuvancongnghe.net/?p=1895</guid>

					<description><![CDATA[Sử dụng file .htaccess để tối ưu và bảo mật website của bạn hơn: bảo vệ các file quan trọng, giới hạn upload, chuyển hướng 301, trang lỗi tùy chỉnh, tắt liệt kê nội dung thư mục, nén nội dung&#8230; Chức năng: 1. Bảo vệ tệp tin 2. Tắt chữ ký số của web server [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<p style="text-align: justify;"><a href="http://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.jpg"><img fetchpriority="high" decoding="async" class="size-full wp-image-1896 aligncenter" title="htaccess" src="http://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.jpg" alt="" width="511" height="157" srcset="https://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess.jpg 511w, https://tuvancongnghe.net/wp-content/uploads/2011/08/htaccess-300x92.jpg 300w" sizes="(max-width: 511px) 100vw, 511px" /></a>Sử dụng file .htaccess để tối ưu và bảo mật website của bạn hơn: bảo vệ các file quan trọng, giới hạn upload, chuyển hướng 301, trang lỗi tùy chỉnh, tắt liệt kê nội dung thư mục, nén nội dung&#8230;</p>
<p style="text-align: justify;">Chức năng:<br />
1. Bảo vệ tệp tin<br />
2. Tắt chữ ký số của web server<br />
3. Giới hạn upload<br />
5. Giới hạn quyền truy cập<br />
6. Trang lỗi tùy chỉnh<br />
7. Tắt liệt kê nội dung thư mục<br />
8. Chuyển hướng 301<br />
9. Chống ăn cắp băng thông như hình ảnh, video (bandwidth)<br />
10. Bật nén PHP compression (bandwidth)<br />
11. Thiết lập canonical url cho website</p>
<p style="text-align: justify;">1.Bước 1, Tạo file .htaccess.</p>
<p style="text-align: justify;">Mở Notepad hoặc phần mềm text editor. Lưu và Đặt tên file htaccess.txt.<br />
2. Nhập nội dung vào file htaccess.txt.</p>
<p style="text-align: justify;"># Bảo vệ file file htaccess</p>
<p style="text-align: justify;">&lt;files .htaccess&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;<br />
#Tắt chữ ký số của web server</p>
<p style="text-align: justify;"># disable the server signature<br />
ServerSignature Off</p>
<p style="text-align: justify;"># limit file uploads to 10mb<br />
LimitRequestBody 10240000<br />
# Bảo vệ file cấu hình config.php</p>
<p style="text-align: justify;">&lt;files config.php&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;<br />
# Giới hạn truy cập, chặn IP</p>
<p style="text-align: justify;">order allow,deny<br />
#deny from 000.000.000.000<br />
allow from all<br />
# Tạo Trang lỗi tùy chỉnh</p>
<p style="text-align: justify;"># custom error docs<br />
ErrorDocument 404 /notfound.php<br />
ErrorDocument 403 /forbidden.php<br />
ErrorDocument 500 /error.php<br />
# Tắt liệt kê nội dung thư mục</p>
<p style="text-align: justify;">Options All -Indexes<br />
# Chuyển hướng 301</p>
<p style="text-align: justify;">Redirect 301 /old.php <a title="http://www.yourdomain.com/new.php" href="http://www.yourdomain.com/new.php">http://www.yourdomain.com/new.php</a><br />
# Khóa tên miền tham chiếu</p>
<p style="text-align: justify;">RewriteEngine on<br />
RewriteCond %{HTTP_REFERER} digg\.com [NC]<br />
RewriteRule .* &#8211; [F]<br />
Chống ăn cắp băng thông</p>
<p style="text-align: justify;">#disable hotlinking of images with forbidden or custom image option<br />
RewriteEngine on<br />
RewriteCond %{HTTP_REFERER} !^$<br />
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]<br />
#RewriteRule \.(gif|jpg)$ &#8211; [F]<br />
#RewriteRule \.(gif|jpg)$ <a title="http://www.yourdomain.com/stealingisbad.gif" href="http://www.yourdomain.com/stealingisbad.gif">http://www.yourdomain.com/stealingisbad.gif</a> [R,L]<br />
Nén file</p>
<p style="text-align: justify;"># php compression &#8211; use with caution<br />
&lt;ifmodule mod_php4.c&gt;<br />
php_value zlib.output_compression 16386<br />
&lt;/ifmodule&gt;<br />
Tránh trùng lặp nội dung</p>
<p style="text-align: justify;"># set the canonical url<br />
RewriteEngine On<br />
RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]<br />
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]<br />
# Chống spam comments</p>
<p style="text-align: justify;">RewriteEngine On<br />
RewriteCond %{REQUEST_METHOD} POST<br />
RewriteCond %{REQUEST_URI} .comments-post\.php*<br />
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^$<br />
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]</p>
<p style="text-align: justify;">3. Upload htaccess.txt lên server.</p>
<p style="text-align: justify;">Sử dụng ftp client (sử dụng ASCII mode) và đổi tên file là .htaccess.</p>
<p style="text-align: justify;">CHMOD file .htaccess sang 644.</p>
<p style="text-align: justify;">4. Kiểm tra kết quả.</p>
<p style="text-align: justify;">Apache cung cấp khả năng cấu hình qua những files truy cập siêu văn bản .htaccess., cho phép thay đổi tinh chỉnh của Apache (httpd.conf). Đảm bảo file này được ấn định một mức độ bảo mật nhất định, tránh những truy cập bất hợp pháp từ bên ngoài (xem, sửa, xóa) những tinh chỉnh này.</p>
<p style="text-align: justify;">1.Định nghĩa .htaccess:</p>
<p style="text-align: justify;">Để làm được như vậy, trước tiên bạn cần chmod file .htaccess là 644, về chmod bạn có thể tìm hiểu ở nhiều tài liệu, hoặc google.<br />
.htaccess có tác dụng trên thư mục hiện hành (nơi chưa nó) và tất cả các thư mục con. Vì vậy, muốn sử dụng .htacess để quản lí truy cập vào website của mình, đơn giản bạn chỉ việc soạn thảo một file .htaccess, và lưu nó vào thư mục root của website.</p>
<p style="text-align: justify;">2.Comment trong .htaccess:</p>
<p style="text-align: justify;">Nếu đã sử dụng và một lần sửa đổi cấu hình Apache thì chắc chắn bạn cũng biết, muốn sử dụng một module nào đó trong những available modules, bạn phải xóa dấu “#” (hash). Dấu “#” này dùng để định nghĩa một đoạn comment trong httpd.conf, và .htaccess cũng vậy. Một ví dụ:</p>
<p style="text-align: justify;">CODE<br />
#Enable Rewrite mod &lt;&lt; đây là comment, dòng này sẽ không được thực thi #trong .htaccess<br />
RewriteEngine on</p>
<p style="text-align: justify;">3.Những chú ý quan trọng:.htaccess là một công cụ rất mạnh trong việc quản lí website. Một lỗi cú pháp nhỏ (thậm chí là một khoản trắng) cũng khiến website của bạn hoạt động không được bình thường như trước. Sau khi áp dụng .htaccess, bạn nên kiểm tra một lượt website của mình xem .htaccess có gây ra lỗi ở phần, trang con nào không? Do vậy trước khi làm việc với .htaccess, bạn nên backup cẩn thận dữ liệu của mình, nếu có trục trặc xảy ra, việc khôi phục trở nên đơn giản.</p>
<p style="text-align: justify;">4.Vấn đề về performance:<br />
.htaccess cho phép bạn cấu hình mà không cần động chạm vào cấu hình chính của Apache. Tuy nhiên, về mặt hiệu năng và bảo mật, nếu có thể, bạn nên sử dụng httpd.conf hơn là sử dụng .htaccess. Cụ thể, khi được cấu hình để sử dụng .htaccess, thi Apache sẽ tìm kiếm tất cả những folder có chứa .htaccess để thực thi, và nó sẽ thực thi tất cả những file .htaccess tìm được. Do vậy, sẽ làm website của bạn trở nên ì ạch một cách không cần thiết. Nếu website của bạn là website cá nhân, hoặc ít người truy cập, thì đó là chuyện nhỏ. Nhưng nếu là một website đại chúng (báo điện tử, trang nhạc, film..) thì đây là một vấn đề rất lón. Do vậy .htaccess chỉ có tác dụng trong trường hợp bạn không có quyền cấu hình trên httpd.conf của Apache.</p>
<p style="text-align: justify;">5.Những kí tự đặc biệt sử dụng khi cấu hình .htaccess</p>
<p style="text-align: justify;">#<br />
Như đã nói ở trên, # đặt trước một dòng để định nghĩa dòng này là một đoạn comment, dòng này sẽ không được thực thi cho đến khi bạn xóa dấu “#” đi. Khi comment, bạn chỉ nên sử dụng các chữ cái, số, dấu gạch ngang hoặc gạch dưới để tránh những lỗi cú pháp không cần thiết.</p>
<p style="text-align: justify;">[F]</p>
<p style="text-align: justify;">Forbidden: Kí tự này dùng để chỉ định server sẽ trả về client trang lỗi 403 nếu truy cập vào những nơi không được phép</p>
<p style="text-align: justify;">[L]<br />
Last rule: kí tự này để ấn định rằng bước trước đã xong thì ngừng và không tiếp tục thực thi lệnh rewrite tiếp theo nữa.</p>
<p style="text-align: justify;">[N]</p>
<p style="text-align: justify;">Next: chỉ thị cho server tiếp tục rewrite cho đến khi tất cả các mục chỉ định được rewrite hoàn toàn.</p>
<p style="text-align: justify;">[G]</p>
<p style="text-align: justify;">Gone: Chỉ định server trả về client trang báo lỗi không tồn tại (no longer exit)</p>
<p style="text-align: justify;">[P]</p>
<p style="text-align: justify;">Proxy: chỉ định server điểu kiển các yêu cầu được ấn định bởi mod_proxy</p>
<p style="text-align: justify;">[C]</p>
<p style="text-align: justify;">Chain: Chỉ định server thực hiện rule hiện hành song song với rule trước đó</p>
<p style="text-align: justify;">[R]</p>
<p style="text-align: justify;">Redirect: chỉ định server đổi hướng request sang một trang khác trong trường hợp trình duyệt gởi yêu cầu duyệt một trang được sửa chữa đường dẫn (rewrite) trước đó.</p>
<p style="text-align: justify;">[NC]</p>
<p style="text-align: justify;">No-case: Chỉ định server match những kí tự tương tự nhau, ví dụ dòng lệnh sau:</p>
<p style="text-align: justify;">CODE<br />
RewriteCond %{HTTP_REFERER} !^http://domain.com/.*$ [NC]<br />
#Thì referrer là domain.com || Domain.com || DoMain.com…đều được match.</p>
<p style="text-align: justify;">[PT]</p>
<p style="text-align: justify;">Pass Through: có nghĩa là dùng kí tự để buộc &#8220;rewrite engine&#8221; ấn định bảng giá trị của uri trở thành giá trị của tên files</p>
<p style="text-align: justify;">[OR]</p>
<p style="text-align: justify;">Đây có thể gọi là một toán tử, các biểu thức được nối tiếp nhau bằng toán tử OR, trong đó biểu thức nào đúng, sẽ là quy tắc để lệnh Rewrite áp dụng.<br />
Ví dụ:</p>
<p style="text-align: justify;">CODE<br />
RewriteBase /<br />
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]<br />
RewriteRule ^.* &#8211; [F,L]</p>
<p style="text-align: justify;">Như vậy, mỗi dòng Rewritecond là một biểu thức chỉ định USER_AGENT, nếu bất cứ USER_AGENT nào match, thì RewriteRule sẽ được áp dụng, sau đó ngừng.<br />
Vì sao ngừng: Một request chỉ có một USER_AGENT, vì vậy không cần thiết phải quay trở lại kiểm tra các biểu thức còn lại, sẽ làm giảm hiệu năng phục vụ.<br />
Lời bàn:như ở trên đã nói, bạn chỉ sử dụng những chức năng này của .htaccess nếu không có quyền cấu hình trên Apache và firewall. Những chức năng lọc và chặn User agents Mod_security và Iptables đều có thể thực hiện được, vì vậy nếu đã có rule cho iptables và Mod_security, việc thêm rule trên cho .htaccess là dư thừa, và không cần thiết.</p>
<p style="text-align: justify;">[NE]</p>
<p style="text-align: justify;">No Escape: Chỉ định server xử lí các gói tin trả về mà không dùng kí tự thoát</p>
<p style="text-align: justify;">[NS]</p>
<p style="text-align: justify;">No Subrequest: Chỉ định server bỏ qua thư mục hiện hành nếu request nhắm vào thư mục con.</p>
<p style="text-align: justify;">[QSA]</p>
<p style="text-align: justify;">Append Query String: chỉ định server gắn chuỗi truy vấn vào cuối cùng của URL</p>
<p style="text-align: justify;">[S=x]</p>
<p style="text-align: justify;">Skip: Chỉ định server bỏ qua không xem xét các X rules tiếp theo nữa nếu một rule đã được thực thi.</p>
<p style="text-align: justify;">[T=MIME-type]</p>
<p style="text-align: justify;">MIME-type: Khai báo định dạng files của server</p>
<p style="text-align: justify;">[]</p>
<p style="text-align: justify;">Chỉ định các kí tự đặt đặt trong [] sẽ được match. Cụ thể [xyx] thì các request có mang theo các kí tự x, y hoặc z sẽ được match.</p>
<p style="text-align: justify;">[]+</p>
<p style="text-align: justify;">Tương tự như trên, nhưng trong trường hợp này, nếu ta đặt [xyz]+ thì tất cả các request có mang theo kí tự x, y, z hoặc x’s, y’s. z’s hoặc sự kết hợp của x,y,z với bất kì kí tự nào đều được match.<br />
[^]</p>
<p style="text-align: justify;">Ngược lại với [], các kí tự được đặt theo dạng [xyz^] sẽ không được match.</p>
<p style="text-align: justify;">[a-z]</p>
<p style="text-align: justify;">Dấu ‘-‘ đặt giữa 2 kí tự bên trong cặp dấu [] sẽ match tất cả các kí tự nằm trong khoảng từ kí tự đầu đến kí tự cuối. Ví dụ [a-bA-B] sẽ match tất cả các kí tự thường vào in hoa abcd và ABCD.</p>
<p style="text-align: justify;">a{n}</p>
<p style="text-align: justify;">Sẽ chỉ định chính xác n kí tự a được match. Ví dụ a{3} thì 3 kí tự a sẽ được match.</p>
<p style="text-align: justify;">a{n,}</p>
<p style="text-align: justify;">Tương tự như trên, nhưng trong trường hợp này sẽ match các kí tự a từ na trở lên.</p>
<p style="text-align: justify;">a{n,m}</p>
<p style="text-align: justify;">Chỉ định một khoảng chính xác các kí tự (m-n)a sẽ được match.</p>
<p style="text-align: justify;">()</p>
<p style="text-align: justify;">Nhóm các phương thức truyền dữ liệu (method). VD:</p>
<p style="text-align: justify;">CODE<br />
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]<br />
Các request bắt đầu (^) HEAD, TRACE, DELETE hoặc TRACK sẽ được match.</p>
<p style="text-align: justify;">^</p>
<p style="text-align: justify;">Bắt đầu bằng (xem ví dụ ở trên).<br />
$</p>
<p style="text-align: justify;">Kết thúc bằng ( .*$: kết thúc bằng bất cứ gì)<br />
?</p>
<p style="text-align: justify;">Thường dùng chung với (), như trong trường hợp test(ti)? thì test hoặc ti sẽ được match.</p>
<p style="text-align: justify;">!</p>
<p style="text-align: justify;">Phủ định. VD: “!string” sẽ match tất cả các kí tự, ngoại trừ string<br />
&#8211;</p>
<p style="text-align: justify;">Loại đi một chức năng, hoặc một rule đang thực thi nào đó. VD:<br />
CODE<br />
# không cho xem chỉ mục trong một folder nào đó<br />
Options All –Indexes</p>
<p style="text-align: justify;">+</p>
<p style="text-align: justify;">Chỉ định 1 hoặc nhiều kí tự cho trước sẽ được match. Hoặc thêm một chức năng nào đó VD: G+ sẽ match tất cả các kí tự G, Gs, Gx, G..</p>
<p style="text-align: justify;">*</p>
<p style="text-align: justify;">Tất cả đều được match. Ví dụ:<br />
CODE<br />
RewriteCond %{HTTP_REFERER} !^http://domain.com/.*$</p>
<p style="text-align: justify;">Thì tất cả request files không mở đầu bằng _http://domain.com đều được match.</p>
<p style="text-align: justify;">|</p>
<p style="text-align: justify;">Hoặc. Ví dụ x|y thì hoặc x hoặc y sẽ được match.</p>
<p style="text-align: justify;">\</p>
<p style="text-align: justify;">Kí tự thoát. VD: www\.domainname\.com Chỉ có www được match, chứ không có wwww hoặc wwwww, domainname chứ không có domainnames hoặc domainnamex…<br />
-d</p>
<p style="text-align: justify;">Kiểm tra thư mục có tồn tại hay không?<br />
-f</p>
<p style="text-align: justify;">Kiểm tra file có tồn tại hay không</p>
<p style="text-align: justify;">-s</p>
<p style="text-align: justify;">Kiểm tra giá trị của file có khác 0 hay không?</p>
<p style="text-align: justify;">6. Mã chuyển hướng trang báo lỗi</p>
<p style="text-align: justify;">&#8211; 401 &#8211; Authorization Required : Lỗi chưa được xác thực user và password<br />
&#8211; 400 &#8211; Bad request : Lỗi truy cập không hợp lệ, do server không chấp nhận request, hoặc request thiếu một số yêu cầu nào đó.<br />
&#8211; 403 &#8211; Forbidden : Lỗi truy cập vào trang bị cấm<br />
&#8211; 500 &#8211; Internal Server Error : Lỗi do server<br />
&#8211; 404 &#8211; Wrong page : Lỗi truy cập vào trang không tồn tại<br />
-301 &#8211; Moved Permanently: 302 &#8211; Moved Temporarily: Lỗi truy cập vào trang đã bị di chuyển.</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://tuvancongnghe.net/toi-uu-va-bao-mat-website-bang-file-htaccess/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>
