<![CDATA[Latest posts for the topic "Giới thiệu về file .htaccess"]]> /hvaonline/posts/list/23.html JForum - http://www.jforum.net Giới thiệu về file .htaccess http://domain.com/secrect/ Tôi có thể tạo một file gọi là .htaccess trong folder secret nằm trên server đó. Ngoài ra file .htaccess còn dùng để từ chối việc liệt kê file trong folder. Điều này rất tiện khi bạn không có file index ví dụ. images/ cgi-bin/ db/ . Có rất nhiều tùy chọn cho bạn đặt vào file .htaccess. Ở đây tôi chỉ đề cập đến 'AuthConfig' và 'Limit'. QUAN TRỌNG: File .htaccess hoạt động trong toàn bộ cây thư mục. Ví dụ. nếu bạn có một file .htaccess trong /www/.htaccess thì nó sẽ có tác dụng đến /www/public/, /www/pictures, v.v.. Nếu bạn chỉ muốn không cho liệt kê thư mục trong /www/pictures thì đặt file .htaccess vào /www/pictures chứ KHÔNG phải vào /www ! Có một tùy chọn khác với thẻ nhưng tôi sẽ không đề cập trong bài này . Bạn có thể dùng google nếu muốn tìm hiểu kỹ hơn. Đặt mật khẩu bảo vệ: ============== Việc đầu tiên là phải tạo một file gọi là .htpasswd để chứa username và mật khẩu (đừng lo lắng gì, chúng đã được mã hóa). Có nhiều cách tạo mật khẩu mã hóa. Cách dễ nhất là vào http://www.euronet.nl/~arnow/htpasswd/ tạo một cái. Sau đó bạn copy/paste dòng kết quả vào file .htpasswd. Tiếp theo ta tạo file .htaccess. Ví dụ như sau: Code:
AuthUserFile /home/leon/secret/.htpasswd
AuthGroupFile /dev/null
AuthName "My .htaccess secured web page!"
AuthType Basic
require valid-user
Dòng đầu tiên là nơi bạn chứa file .htpasswd. Những dòng còn lại chắc bạn cũng đã hiểu! Từ chối ip: Nếu bạn muốn cấm (block) vài ip hay isp thì đặt một trong những dòng sau vào file .htaccess: Code:
order allow,deny
deny from 123.45.67.89
deny from 45.67.89.
allow from all
Nó sẽ cấm 123.45.67.89 và mọi ip bắt đầu với 45.67.89. Bên cạnh đó bạn cũng có thể làm như sau: Code:
order deny,allow
deny from all
allow from 123.45.67.8
Nó sẽ cấm tất cả IP ngoại trừ 123.45.67.8 Ngoài ra bạn có thể tham khảo thêm ở: http://httpd.apache.org/docs/howto/htaccess.html http://wsabstract.com/howto/htaccess.shtml http://www.he.net/faq/tutorials/htaccess/demo.html http://www.freewebmasterhelp.com/tutorials/htaccess/ http://baremetal.com/gadgets/htaccess/]]>
/hvaonline/posts/list/72.html#347 /hvaonline/posts/list/72.html#347 GMT
Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#773 /hvaonline/posts/list/72.html#773 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#978 /hvaonline/posts/list/72.html#978 GMT Re: Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#1050 /hvaonline/posts/list/72.html#1050 GMT Re: Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#1350 /hvaonline/posts/list/72.html#1350 GMT Giới thiệu về file .htaccess ErrorDocument mã số lỗi /trangloi.html Trong đó mã số lỗi là mã số của lỗi phát sinh, sau đây là những lỗi hay gặp: - 401 - Authorization Required (cần password để truy nhập) - 400 - Bad request (Lỗi do yêu cầu) - 403 - Forbidden (không được vào) - 500 - Internal Server Error (lỗi server) - 404 - Wrong page (lỗi trang, không tìm thấy...) Options –Indexes Thay thế trang index Thông thường khi truy nhập vào một trang web, Apache sẽ tìm tập tin index.htm hoặc default.htm trả kết quả về cho trình duyệt, bạn có thể dùng .htaccess thay đổi mặc định này. DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm Cấm/hạn chế IP truy nhập Một số người muốn làm ngập (flood) trang web của bạn, việc cần làm là ngăn cấm những IP của những người này truy nhập vào trang web, bạn thêm đoạn mã sau vào .htaccess: deny from 203.262.110.20; cho phép IP truy nhập: allow from 203.262.110.20. Nếu bạn chỉ viết IP dưới dạng: 203.262.110 thì sẽ cấm tất cả IP trong dải từ 203.262.110.1 đến 203.262.110.254. Sử dụng dòng lệnh sau: Deny from all sẽ cấm tất cả mọi truy nhập đến các trang web trong thư mục, tuy nhiên các tập tin trong đó vẫn có thể được sử dụng từ bên ngoài thông qua các lệnh dạng require hay include (trong lập trình PHP), có thể xem thêm mã nguồn của PHPBB forum,IBF... để hiểu rõ hơn. Tự động chuyển đến địa chỉ mới (Redirection) Bạn chuyển trang web của mình đến địa chỉ mới nhưng không phải ai cũng biết điều này, wwwect truy nhập từ xa một cách đơn giản bằng lệnh sau: Redirect/olddirectory http://www.trangwebmoi.com/thumucmoi ; Tuỳ biến đuôi tập tin Thông thường, tuỳ thuộc vào ngôn ngữ lập trình web mà bạn sử dụng tập tin sẽ có phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, …Tuy nhiên nếu sử dụng .htaccess bạn có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin của bạn và trả về cho trình duyệt web của người dùng với phần mở rộng do bạn quy định trong .htaccess. Bạn sử dụng đoạn lệnh sau trong tập tin .htaccess: RewriteEngine on RewriteRule (.*)\.dll$ $1.html (QTM) Tạo đường dẫn ảo Tạo file .htaccess Code:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^.*$ - [L]
RewriteRule ^(.*)$ rewrite.php [L]
Tạo file rewrite.php Code:
if(!$_SERVER['QUERY_STRING']){
$url=strip_tags($_SERVER['REQUEST_URI']);
$url_arr=explode("/",$url);
array_shift($url_arr); // bo cell đầu null
 
$page="";$query="";
/*Lay phan duong dan va ten file include*/
for($i=0;$i<count($url_arr)-1;$i++)
 $page.=$url_arr[$i]."/";
if($page=="") $page="home.php";
else
 $page=substr($page,0,strlen($page)-1).".php";

if(!file_exists($page)){
 echo "Invalid filename...";exit;
}
    
/*Lay phan querystring dang var1_var2_var3.vec*/
$query=substr($url_arr[$i],0,strlen($url_arr[$i])-4); // cat bo chu .htm cuối cùng của chuỗi URL
$var_arr=explode("_",$query,10);
$var1=@$var_arr[0];
$var2=@$var_arr[1];
$var3=@$var_arr[2];
               // ban gan cac giá trị query string vào từng biến

include($page);
}
else{
header("Location:".$_SERVER['REQUEST_URI']);
}
?>
- Chuỗi URL đưa vào có dạng: http://yourdomain.com/thư/mục/chứa/file/tên file.php/var1_var2_var3.htm - Nếu không sử dụng các var1, var2,... thì bạn cho đại một tên nào đó ví dụ như show.htm chẳng hạn. ví dụ: bình thường nếu truy cập: http://domain.net/products/list.php?cat=adgf&sort=fall thì rewrite lại như sau: http://domain.net/product/list/adgf_fall.htm HVA cũ ! HAVE FUN !]]>
/hvaonline/posts/list/72.html#1486 /hvaonline/posts/list/72.html#1486 GMT
Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#1685 /hvaonline/posts/list/72.html#1685 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#1857 /hvaonline/posts/list/72.html#1857 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#1935 /hvaonline/posts/list/72.html#1935 GMT Giới thiệu về file .htaccess Code:
$user_admin=addslashes($_POST["user"]);
$pw_admin=addslashes($_POST["password"]);
$truyvan=@mysql_query("select user,password from admin_table_name where admin_user_column='$user_admin'");
$kt=@mysql_fetch_array($truyvan);
if(@mysql_num_rows($truyvan)!=0 && $kt[1]="$pw_admin")
{
echo "Đăng nhập thành công ?";
..........................................
}
else
{
$ip=$_SERVER["REMOTE_ADDR"]."
";
$mofile=@fopen(".htaccess","a");
$ghi=@fwrite($moghi,$ip);
$dongghi=@fclose($mofile);
echo "Quả này thì có thằng vãi tội !";
}
HAVE FUN !]]>
/hvaonline/posts/list/72.html#1994 /hvaonline/posts/list/72.html#1994 GMT
Re: Giới thiệu về file .htaccess $user_admin=addslashes($_POST["user"]); $pw_admin=addslashes($_POST["password"]); $truyvan=@mysql_query("select user,password from admin_table_name where admin_user_column='$user_admin'"); $kt=@mysql_fetch_array($truyvan); if(@mysql_num_rows($truyvan)!=0 && $kt[1]="$pw_admin") { echo "Đăng nhập thành công ?"; .......................................... } else { $ip=$_SERVER["REMOTE_ADDR"]." "; $mofile=@fopen(".htaccess","a"); $ghi=@fwrite($moghi,$ip); $dongghi=@fclose($mofile); echo "Quả này thì có thằng vãi tội !"; }  mình vẫn chưa hiểu rõ hết các câu lệnh trên. Bạn có thể viêt thành một file đuơc không ? VD : forum của mình là vbb thì mình phải sửa code như thế nào ? Rất mong được sự góp ý của bạn ! Thân : HC]]> /hvaonline/posts/list/72.html#67494 /hvaonline/posts/list/72.html#67494 GMT Giới thiệu về file .htaccess

phamquoc_truong wrote:
ErrorDocument mã số lỗi /trangloi.html Trong đó mã số lỗi là mã số của lỗi phát sinh, sau đây là những lỗi hay gặp: - 401 - Authorization Required (cần password để truy nhập) - 400 - Bad request (Lỗi do yêu cầu) - 403 - Forbidden (không được vào) - 500 - Internal Server Error (lỗi server) - 404 - Wrong page (lỗi trang, không tìm thấy...) Options –Indexes Thay thế trang index Thông thường khi truy nhập vào một trang web, Apache sẽ tìm tập tin index.htm hoặc default.htm trả kết quả về cho trình duyệt, bạn có thể dùng .htaccess thay đổi mặc định này. DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm Cấm/hạn chế IP truy nhập Một số người muốn làm ngập (flood) trang web của bạn, việc cần làm là ngăn cấm những IP của những người này truy nhập vào trang web, bạn thêm đoạn mã sau vào .htaccess: deny from 203.262.110.20; cho phép IP truy nhập: allow from 203.262.110.20. Nếu bạn chỉ viết IP dưới dạng: 203.262.110 thì sẽ cấm tất cả IP trong dải từ 203.262.110.1 đến 203.262.110.254. Sử dụng dòng lệnh sau: Deny from all sẽ cấm tất cả mọi truy nhập đến các trang web trong thư mục, tuy nhiên các tập tin trong đó vẫn có thể được sử dụng từ bên ngoài thông qua các lệnh dạng require hay include (trong lập trình PHP), có thể xem thêm mã nguồn của PHPBB forum,IBF... để hiểu rõ hơn. Tự động chuyển đến địa chỉ mới (Redirection) Bạn chuyển trang web của mình đến địa chỉ mới nhưng không phải ai cũng biết điều này, wwwect truy nhập từ xa một cách đơn giản bằng lệnh sau: Redirect/olddirectory http://www.trangwebmoi.com/thumucmoi ; Tuỳ biến đuôi tập tin Thông thường, tuỳ thuộc vào ngôn ngữ lập trình web mà bạn sử dụng tập tin sẽ có phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, …Tuy nhiên nếu sử dụng .htaccess bạn có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin của bạn và trả về cho trình duyệt web của người dùng với phần mở rộng do bạn quy định trong .htaccess. Bạn sử dụng đoạn lệnh sau trong tập tin .htaccess: RewriteEngine on RewriteRule (.*)\.dll$ $1.html (QTM) Tạo đường dẫn ảo Tạo file .htaccess Code:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^.*$ - [L]
RewriteRule ^(.*)$ rewrite.php [L]
Tạo file rewrite.php Code:
if(!$_SERVER['QUERY_STRING']){
$url=strip_tags($_SERVER['REQUEST_URI']);
$url_arr=explode("/",$url);
array_shift($url_arr); // bo cell đầu null
 
$page="";$query="";
/*Lay phan duong dan va ten file include*/
for($i=0;$i<count($url_arr)-1;$i++)
 $page.=$url_arr[$i]."/";
if($page=="") $page="home.php";
else
 $page=substr($page,0,strlen($page)-1).".php";

if(!file_exists($page)){
 echo "Invalid filename...";exit;
}
    
/*Lay phan querystring dang var1_var2_var3.vec*/
$query=substr($url_arr[$i],0,strlen($url_arr[$i])-4); // cat bo chu .htm cuối cùng của chuỗi URL
$var_arr=explode("_",$query,10);
$var1=@$var_arr[0];
$var2=@$var_arr[1];
$var3=@$var_arr[2];
               // ban gan cac giá trị query string vào từng biến

include($page);
}
else{
header("Location:".$_SERVER['REQUEST_URI']);
}
?>
- Chuỗi URL đưa vào có dạng: http://yourdomain.com/thư/mục/chứa/file/tên file.php/var1_var2_var3.htm - Nếu không sử dụng các var1, var2,... thì bạn cho đại một tên nào đó ví dụ như show.htm chẳng hạn. ví dụ: bình thường nếu truy cập: http://domain.net/products/list.php?cat=adgf&sort=fall thì rewrite lại như sau: http://domain.net/product/list/adgf_fall.htm HVA cũ ! HAVE FUN ! 
Minh Xin được hỏi bạn một tý nhé : mình đã làm đúng như bạn code ở trên nhung vẫn không thay đổi gì cả. các file của mình đều là .php. bạn có thể chỉ rõ cho mình hơn một tý được không . Cho mình xin email để thảo luận vấn đề này thêm nếu bạn đồng ý. Thân : HC]]>
/hvaonline/posts/list/72.html#67495 /hvaonline/posts/list/72.html#67495 GMT
Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#70400 /hvaonline/posts/list/72.html#70400 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#70422 /hvaonline/posts/list/72.html#70422 GMT Giới thiệu về file .htaccess

dangvuhai2907 wrote:
minh lam nhu huong dan tren de tao duong dan ao nhung lai bao loi the nay : Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. -------------------------------------------------------------------------------- Apache/2.2.4 (Win32) PHP/5.2.1 Server at localhost Port 80 (minh de file .htaccess va rewrite.php trong thu muc goc) 
Tìm dòng #LoadModule rewrite_module modules/mod_rewrite.so trong file httpd.conf của apache bỏ dấu # ở đầu đi.]]>
/hvaonline/posts/list/72.html#70425 /hvaonline/posts/list/72.html#70425 GMT
Giới thiệu về file .htaccess Cho em hỏi là tại sao em ko upload 2 file này lên host của mình đc nhỉ  Có thể do host kô hỗ trợ, hoặc thử rename, upload lên host rồi rename lại]]> /hvaonline/posts/list/72.html#79339 /hvaonline/posts/list/72.html#79339 GMT Re: Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#111734 /hvaonline/posts/list/72.html#111734 GMT Re: Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#130737 /hvaonline/posts/list/72.html#130737 GMT Re: Giới thiệu về file .htaccess Code:
[color=red]$mofile[/color]=@fopen(".htaccess","a");
 $ghi=@fwrite([color=red]$moghi[/color],$ip);
 $dongghi=@fclose($mofile);
Cho em hỏi là tại sao em ko upload 2 file này lên host của mình đc nhỉ 
Có thể do trình FTP bạn đang dùng ko hiển thị file ẩn (mặc định những file có tên bắt đầu bằng "." sẽ là file ẩn).
http://youdomain/tenfile.html -> http://youdomain/tenfile/  
Code:
RewriteEngine On
RewriteRule ^tenfile\.html$ /tenfile/
]]>
/hvaonline/posts/list/72.html#130883 /hvaonline/posts/list/72.html#130883 GMT
Re: Giới thiệu về file .htaccess 500 Internal Error The requested page produced an internal error. If you are the webmaster of this website please check: * That script has been uploaded as ASCII (if CGI/Perl) * If the file and folder permissions are correct, e.g. 755 * Your .htaccess file (if any).   ]]> /hvaonline/posts/list/72.html#132342 /hvaonline/posts/list/72.html#132342 GMT Re: Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#132443 /hvaonline/posts/list/72.html#132443 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#185938 /hvaonline/posts/list/72.html#185938 GMT Giới thiệu về file .htaccess Em đang cần chuyển /?id về /download.php?id nhưng dùng kí tự ? trong htaccess hình như không được, anh nào chỉ cho em được ko ạ. demo như trang này smilie http://www.mediafire.com/?enmtn5dgzi0  Được chứ bác ! .htaccess không phải là không làm được mà bác không biết làm :D Bác có thể viết một RewriteRule thế này: Code:
RewriteRule ^?([a-zA-Z0-9]*) download.php?id=$1
Bác test đi nhé :)]]>
/hvaonline/posts/list/72.html#186245 /hvaonline/posts/list/72.html#186245 GMT
Giới thiệu về file .htaccess dùng .htaccess liệu có wwwect url được không? ví dụ detect visitter ở vn là chuyển url sang google.com.vn như google?. ai rõ vụ này không?  Tất nhiên là được, .htaccess hay cụ thể là Mod Rewrite có thể làm được rất nhiều việc, và bạn chỉ cần tạo một thuộc tính là [R] (Redirect) ở phía sau 1 RewriteRule là ok. Code:
RewriteCond %{REMOTE_ADDR} ^202\.12\.13\.14$ [OR]
RewriteCond %{REMOTE_ADDR} ^202\.12\.13\.15$
RewriteRule .* http://google.com.vn [R,L]
Còn địa chỉ IP thuộc VN thì tùy thuộc vào bạn :) Chú thích: RewriteCond = Rewrite Condition, điều kiện cho 1 Rewrite Rule R = Redirect L = Last Rule]]>
/hvaonline/posts/list/72.html#186246 /hvaonline/posts/list/72.html#186246 GMT
Giới thiệu về file .htaccess Server error! The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script. If you think this is a server error, please contact the webmaster. Error 500 localhost 07/14/09 12:42:29 Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9   Em dùng xampp cài trên localhost để test, em đã có file download.php cùng thư mục rồi, thậm chí em đã edit code thành RewriteRule ^?([a-zA-Z0-9]*) http://localhost/download.php?id=$1 nhưng vẫn ko đc bác ạ. Đây là toàn bộ file .htaccess của em, bác xem giúp em cái nhé :) Code:
RewriteEngine  on
RewriteRule ^?([a-zA-Z0-9]*) http://localhost/download.php?id=$1
]]>
/hvaonline/posts/list/72.html#186257 /hvaonline/posts/list/72.html#186257 GMT
Giới thiệu về file .htaccess Code:
RewriteRule ^([\?a-zA-Z0-9]*) download.php?id=$1
Chèn dấu "?" vào trong ngoặc vuông và thêm 1 dấu \ vào để nó hiểu ko phải là ký hiệu mà chỉ là một dấu ? là ok.]]>
/hvaonline/posts/list/72.html#186259 /hvaonline/posts/list/72.html#186259 GMT
Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#186261 /hvaonline/posts/list/72.html#186261 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#186262 /hvaonline/posts/list/72.html#186262 GMT Giới thiệu về file .htaccess /hvaonline/posts/list/72.html#214222 /hvaonline/posts/list/72.html#214222 GMT