banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix How to convert htaccess to nginx ?  XML
  [Question]   How to convert htaccess to nginx ? 12/04/2012 10:05:17 (+0700) | #1 | 261226
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]
Hiện tại em đang chuyển web server từ apache sang nginx. Tuy nhiên em đang gặp phải vấn đề file htaccess em không biết convert sao cho đúng bên Nginx, nội dung file htaccess của em.

# If the file is NOT the index.php file
<IfModule mod_rewrite.c>

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !index.php
# Hide all PHP files so none can be accessed by HTTP
RewriteRule (.*)\.php$ index.php/$1


RewriteCond $1 !^(index\.php|nhototamsu|assets|cache|xd_receiver\.html|photo|ipanel|automap|xajax_js|files|robots\.txt|favicon\.ico|ione\.ico|\
(.*)\.xml|ror\.xml|tool|google6afb981101589049\.html|googlec0d38cf2adbc25bc\.html|widget|iradio_admin|services|wsdl)

RewriteRule ^(.*)$ index.php/$1 [QSA,L]



</IfModule> 


Hiện tại em đã con vert đuwocj 2 dòng

Code:
RewriteCond %{REQUEST_FILENAME} !index.php
# Hide all PHP files so none can be accessed by HTTP
RewriteRule (.*)\.php$ index.php/$1


sang
Code:
if ($request_filename !~ index.php) {
                rewrite /(.*).php$ /index.php/$1;
        }


Còn 2 dòng này đặt biệt dòng 3 thì hơi khó:
RewriteCond $1 !^(index\.php|nhototamsu|assets|cache|xd_receiver\.html|photo|ipanel|automap|xajax_js|files|robots\.txt|favicon\.ico|ione\.ico|\
(.*)\.xml|ror\.xml|tool|google6afb981101589049\.html|googlec0d38cf2adbc25bc\.html|widget|iradio_admin|services|wsdl)

RewriteRule ^(.*)$ index.php/$1 [QSA,L] 



Sau khi chuyển đổi, em gõ url sau http://myurl.cotuc/showbiz/musim/tin-c/2012/04/25944-yanbi-mr-t-thu-nhan-cam-nang-bao-thy.html thì nginx nó báo "404 not found".

Anh chị nào có kinh nghiệm trong việc này thì giúp em!
JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 10:39:17 (+0700) | #2 | 261229
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Dòng 3: $1 nghĩa là gì vậy?
Dòng 4: em thấy khó ở chỗ nào?
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 11:02:47 (+0700) | #3 | 261235
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]

quanta wrote:
Dòng 3: $1 nghĩa là gì vậy?
Dòng 4: em thấy khó ở chỗ nào? 


Vâng dòng 4 em có thể chuyển được. Còn $1 em nghĩ nó cũng giống như trong lập trình bash shell là giá trị mà mình truyển vào.
JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 11:14:53 (+0700) | #4 | 261239
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]
OK em đã convert như sau:
if ($request_filename !~ "index.php"){
rewrite /(.*).php$ /index.php/$1;
}
if ($1 !~ "^(index.php|nhototamsu|assets|cache|xd_receiver.html|photo|ipanel|automap|xajax_js|files|robots.txt|favicon.ico|ione.ico|(.*).xml|ror.xml|tool|google6afb981101589049.html|googlec0d38cf2adbc25bc.html|widget|iradio_admin|services|wsdl)"){
rewrite ^/(.*)$ /index.php/$1 last;


Nhưng khi restart nginx nó báo lỗi:
nginx: [emerg] unknown "1" variable 

JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 11:18:29 (+0700) | #5 | 261240
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

vitcon01 wrote:

Còn $1 em nghĩ nó cũng giống như trong lập trình bash shell là giá trị mà mình truyển vào. 

Chết chết, vậy em phải đọc lại tài liệu đi, đừng nghĩ.

vitcon01 wrote:
OK em đã convert như sau:
if ($request_filename !~ "index.php"){
rewrite /(.*).php$ /index.php/$1;
}
if ($1 !~ "^(index.php|nhototamsu|assets|cache|xd_receiver.html|photo|ipanel|automap|xajax_js|files|robots.txt|favicon.ico|ione.ico|(.*).xml|ror.xml|tool|google6afb981101589049.html|googlec0d38cf2adbc25bc.html|widget|iradio_admin|services|wsdl)"){
rewrite ^/(.*)$ /index.php/$1 last;


Nhưng khi restart nginx nó báo lỗi:
nginx: [emerg] unknown "1" variable 

 

Làm gì có cái variable nào tên là "1" đâu mà gọi $1.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 11:25:25 (+0700) | #6 | 261242
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]
Vâng đúng là không có biến nào của nginx $1 nên em đã dùng $request_uri để thay thế cho nó. Tuy nhiên kết quả nhận được vẫn là 404 not found.
if ($request_filename !~ "index.php") {
rewrite /(.*).php$ /index.php/$1;
}

if ($request_uri !~ "^(index\.php|nhototamsu|assets|cache|xd_receiver\.html|photo|ipanel|automap|xajax_js|files|robots\.txt|favicon\.ico|ione\.ico|(.*)\.xml|ror\.xml|tool|google6afb981101589049\.html|googlec0d38cf2adbc25bc\.html|widget|iradio_admin|services|wsdl)") {
rewrite ^/(.*)$ /index.php/$1 last;
JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 12:05:38 (+0700) | #7 | 261245
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Tóm lại em đã hiểu $1 là gì chưa?

RewriteRule ^(.*)$ index.php/$1 [QSA,L]
rewrite ^/(.*)$ /index.php/$1 last;


Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   How to convert htaccess to nginx ? 12/04/2012 13:51:52 (+0700) | #8 | 261247
[Avatar]
vitcon01
Member

[Minus]    0    [Plus]
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
[Profile] [PM]
$1 là địa diện cho một nhóm (.*)

Em cảm ơn anh.
JK - JH
()()()
LTKT - LTT
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|