ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: htaccess для nginx



Не буду плодить темы.

есть htaccess:

RewriteRule ^\.htaccess$ - [F]                                          
                                                                        
           
                                                                        
                                                                        
          
RewriteCond %{REQUEST_URI} =""                                          
                                                                        
           
RewriteRule ^.*$ /html/index.php [NC,L]                                 
                                                                        
           
                                                                        
                                                                        
           
RewriteCond %{REQUEST_URI} !^/html/.*$                                  
                                                                        
           
RewriteRule ^(.*)$ /html/$1                                             
                                                                        
           
                                                                        
                                                                        
           
RewriteCond %{REQUEST_FILENAME} -f                                      
                                                                        
           
RewriteRule ^.*$ - [NC,L]                                               
                                                                        
           
                                                                        
                                                                        
           
RewriteRule ^html/.*$ /html/index.php [NC,L]

Никак не могу переписать на nginx.
Пользовался онлайн конвертором
(http://www.anilcetin.com/convert-apache-htaccess-to-nginx/)
кое-что перевел, работает но выглядит
не очень "красиво". Последние два
правила не подобрал.


Вот мой конфиг хоста:

server {                                                                
                                                                        
           
        listen       80;                                                
                                                                        
           
        server_name  somehost.org www.somehost.org;                     
                                                                
                                                                        
                                                                        
           
        access_log /var/log/nginx/somehost.org-access_log  main;        
                                                                        
 
        error_log  /var/log/nginx/somehost.org-error.log;               
                                                                        
 
                                                                        
                                                                        
           
location / {                                                            
                                                                        
           
            root   /var/www/html/somehost.org;                          
                                                                        
 
            index  index.html index.htm index.php;                      
                                                                        
           
                                                                        
                                                                        
           
### RewriteCond %{REQUEST_URI} ="" RewriteRule ^.*$ /html/index.php
[NC,L] ##                                                               
                
                                                                        
                                                                        
           
            if ($uri ~ ''){                                             
                                                                        
           
                set $rule_0 1$rule_0;                                   
                                                                        
           
                }                                                       
                                                                        
           
            if ($rule_0 = "1"){                                         
                                                                        
           
                rewrite ^/.*$ /html/index.php last;                     
                                                                        
           
                }                                                       
                                                                        
           
############################################################################
                                                                        
       
                                                                        
                                                                        
           
        }                                                               
                                                                        
           
                                                                        
                                                                        
           
### RewriteCond %{REQUEST_URI} !^/html/.*$ RewriteRule ^(.*)$ /html/$1
#####                                                                   
             
                                                                        
                                                                        
           
if ($uri !~ ^/html/.*$){                                                
                                                                        
           
                set $rule_0 1$rule_0;                                   
                                                                        
           
                }                                                       
                                                                        
           
            if ($rule_0 = "1"){                                         
                                                                        
           
                rewrite ^/(.*)$ /html/$1 last;                          
                                                                        
           
                }
################################################################

### RewriteCond %{REQUEST_FILENAME} -f   RewriteRule ^.*$ - [NC,L]
#######
???
################################################################

### RewriteRule ^html/.*$ /html/index.php [NC,L]
###########################
???
################################################################
        location ~ \.php$ {                                             
                                                                        
           
            root           /var/www/html/somehost.org;                  
                                                                        
 
            fastcgi_pass   127.0.0.1:9000;                              
                                                                        
           
            fastcgi_index  index.php;                                   
                                                                        
           
            fastcgi_param  SCRIPT_FILENAME 
/var/www/html/somehost.org$fastcgi_script_name;                         
                              
            include        fastcgi_params;                              
                                                                        
           
        }                                                               
                                                                        
           
                                                                        
                                                                        
           
        location ~ /\.ht {                                              
                                                                        
           
            deny  all;                                                  
                                                                        
           
        }                                                               
                                                                        
           
    }

С регуляркой у меня не очень, спасибо
если кто подскажет чего.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,77263,145430#msg-145430


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.