YA Converting .htaccess to nginx, I can't get it to work!

otherjohn nginx-forum at nginx.us
Tue Feb 5 03:23:46 UTC 2013


Hi all,
I am trying to convert this htaccess file to nginx config and it is not
working. 
Here is my .htaccess

<IfModule mod_headers.c>
        Header unset ETag
        FileETag None
        <FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
                Header unset Last-Modified
                Header set Expires "Fri, 21 Dec 2020 00:00:00 GMT"
                Header set Cache-Control "public, no-transform"
        </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
        RewriteEngine   On
        RewriteCond     %{QUERY_STRING} ^$
        RewriteRule     ^((.)?)$        index.php?p=home [L]

        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule ^(.*)$ $1 [QSA,L]

        RewriteCond     $1
!^(\#(.)*|\?(.)*|\.htaccess(.)*|\.htaccess\.back(.)*|.idea\/(.)*|.svn\/(.)*|admin\.php(.)*|content\/(.)*|download\.php(.)*|ecc\/(.)*|images\/(.)*|index\.php(.)*|install\/(.)*|login\.php(.)*|readme\.txt(.)*|robots\.txt(.)*)
        RewriteRule     ^(.+)$ index.php?url=$1&%{QUERY_STRING} [L]
</IfModule>

<IfModule mod_deflate.c>
        <FilesMatch "\.(js|css|ico|flv|jpg|jpeg|png|gif)$">
                SetOutputFilter DEFLATE
        </FilesMatch>
</IfModule>

and here is my config. I can get it to somewhat work if I only use one of
the following lines but then the rest is broke!



location / {
  if ($query_string ~ "^$"){
    rewrite ^/((.)?)$ /index.php?p=home break;
  }
  if (-e $request_filename){
    rewrite ^(.*)$ /$1 break;
  }
  rewrite ^(.+)$ /index.php?url=$1&$query_string break;
location ~ \.php$ {
                        try_files $uri =404;
                        fastcgi_pass unix:/tmp/php5-fpm.sock;
                        fastcgi_index index.php;
                        include /etc/nginx/fastcgi_params;
                }

}


Not to mention that I hate using the if else clauses in my nginx config
because I think I read where it is poor for performance.

Can someone give me a hand here. I have been working on this for hours
without any luck.
John

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,235905,235905#msg-235905



More information about the nginx mailing list