# Htaccess to nginx, real nightmare - Any advice?

**URL:** <https://www.ruby-forum.com/t/htaccess-to-nginx-real-nightmare-any-advice/225448>\
**Category:** NGINX\
**Created:** [January 9, 2013, 7:01am UTC](https://www.ruby-forum.com/t/htaccess-to-nginx-real-nightmare-any-advice/225448 "2013-01-09T07:01:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [January 9, 2013, 7:01am UTC](https://www.ruby-forum.com/t/htaccess-to-nginx-real-nightmare-any-advice/225448/1 "2013-01-09T07:01:25Z")

</div>

Hello

I’m using Nginx from 3 weeks for wordpress and scripts like  
phplinkdirectory. Unfortunately i’m still noob converting htaccess rules  
to  
nginx and sometimes a simple conversion is a real nightmare. I cannot  
solve  
this conversion from htaccess to nginx and i hope to find someone to  
point  
me to the right direction.

htaccess code:

RewriteEngine On  
RewriteBase /  
RewriteCond %{REQUEST\_URI} ^(.+)~s$  
RewriteRule ^(._) stats.php?u=$1 [L]  
RewriteCond %{REQUEST\_URI} ^(.+)~d$  
RewriteRule ^(._) delete\_file.php?u=$1 [QSA,L]  
RewriteCond %{REQUEST\_URI} ^(.+)~i$  
RewriteRule ^(._) share\_file.php?u=$1 [QSA,L]  
RewriteCond %{REQUEST\_URI} ^(.+)~f$  
RewriteRule ^(._) view\_folder.php?f=$1 [QSA,L]  
RewriteCond %{REQUEST\_FILENAME} !-f  
RewriteCond %{REQUEST\_FILENAME} !-d  
RewriteCond $1 !.html$  
RewriteRule ^(._) file\_download.php?u=$1 [QSA,L]  
RewriteRule ^(._).html$ $1.php [QSA,L]

Nginx code (i’m using it on a subdomain, my server is centos 6.3 +  
virtualmin + nginx + fastcgi. Server is already configured and 100%  
working.):

server {  
server\_name [download.mysite.com](http://download.mysite.com) [www.download.mysite.com](http://www.download.mysite.com);  
listen 173.245.7.94;  
root /home/mysite/domains/download.mysite.com/public\_html;  
access\_log /var/log/virtualmin/download.mysite.com\_access\_log;  
error\_log /var/log/virtualmin/download.mysite.com\_error\_log;  
fastcgi\_param GATEWAY\_INTERFACE CGI/1.1;  
fastcgi\_param SERVER\_SOFTWARE nginx;  
fastcgi\_param QUERY\_STRING $query\_string;  
fastcgi\_param REQUEST\_METHOD $request\_method;  
fastcgi\_param CONTENT\_TYPE $content\_type;  
fastcgi\_param CONTENT\_LENGTH $content\_length;  
fastcgi\_param SCRIPT\_FILENAME  
/home/mysite/domains/download.mysite.com/public\_html$fastcgi\_script\_name;  
fastcgi\_param SCRIPT\_NAME $fastcgi\_script\_name;  
fastcgi\_param REQUEST\_URI $request\_uri;  
fastcgi\_param DOCUMENT\_URI $document\_uri;  
fastcgi\_param DOCUMENT\_ROOT  
/home/mysite/domains/download.mysite.com/public\_html;  
fastcgi\_param SERVER\_PROTOCOL $server\_protocol;  
fastcgi\_param REMOTE\_ADDR $remote\_addr;  
fastcgi\_param REMOTE\_PORT $remote\_port;  
fastcgi\_param SERVER\_ADDR $server\_addr;  
fastcgi\_param SERVER\_PORT $server\_port;  
fastcgi\_param SERVER\_NAME $server\_name;  
location ~ .php$ {  
try\_files $uri =404;  
fastcgi\_pass localhost:9003;  
}  
location / {  
index index.html index.htm index.php;  
if (!-f $request\_uri) { rewrite ^/([^/]+)~s  
/stats.php?u=$1 last;}  
if (!-f $request\_uri) { rewrite ^/([^/]+)~d  
/delete\_file.php?u=$1 last;}  
if (!-f $request\_uri) { rewrite ^/([^/]+)~i  
/share\_file.php?u=$1 last;}  
if (!-f $request\_uri) { rewrite ^/([^/]+)~f  
/view\_folder.php?u=$1 last;}  
if (!-f $request\_filename) { rewrite ^/([^/]+)  
/file\_download.php?u=$1 last;}  
#rewrite html to php  
rewrite ^(.\*).html$ $1.php break;  
}

I have other domains (wordpress, phplinkdirectory) and they work well  
with  
nginx. The only problem is converting this subdomain htaccess to nginx.  
Code  
seems correct (virtualmin accept it and doesn’t return errors) but in  
practise this code is completely incorrect. rewrite is 1/2 working, i’m  
having a lot of loops and a lot of php pages (rewrite php to html)  
aren’t  
processed (i see only the source or the browser download my PHP page  
instead  
of rendering it.)

Any advice ? Thanks in advance.

Posted at Nginx Forum:

> **[htaccess to nginx, real nightmare - Any advice ?](https://forum.nginx.org/read.php?2,234820,234820#msg-234820)**
>
> Hello I'm using Nginx from 3 weeks for wordpress and scripts like phplinkdirectory. Unfortunately i'm still noob converting htaccess rules to nginx and sometimes a simple conversion is a real nightmare. I cannot solve this conversion from htaccess to...
