将.htaccess转换为nginx

这又是我:(我正试图安装siwapp在我的networking服务器,但我不能让它与Nginx的工作,这里是.htaccess文件的内容:

RewriteCond %{REQUEST_FILENAME} !index.php 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] 

当我访问http://myurl.com/tin-tuc/tuyen-sinh/tu-van/2012/04/25757-phan-van-qua-giua-khoi-a1-va-khoi-a.html时 ,nginx可以正确显示页面,它说:“404 Not Found”(新的URL: http : //myurl.com/tin-tuc/tuyen-sinh/tu-van/2012/04/25757-phan-vanqua- giua-khoi-a1-va-khoi-a.html )

看起来像一个非常标准的configuration给我…

 location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php/$1; } location ~ \.php$ { try_files $uri $uri/ /index.php?$args; include fastcgi_params; fastcgi_pass localhost:9000; } 

这个网站工具帮了我很多

请从这里获得关于如何从nginx wiki中重写的一些理解。 相信我,这总是一个好主意

我可以给你一个真实的例子。

Apache的.htaccess

 Rewriterule ^(articulos)/([0-9]+)/([a-zA-Z0-9_-]+)$ index.php?modules=full_post&id=$2 [NC,L,QSA] 

相当于Nginx:

 location / { try_files $uri $uri/ @rewrite; } location @rewrite { # Dinamic Links rewrite ^/(articulos)/([0-9]+)/([a-zA-Z0-9_-]+)$ /index.php?modules=full_post&id=$2; } 

我希望这可以帮助你!