Ответы пользователя по тегу Nginx
  • Fastcgi_param и SCRIPT_FILENAME?

    wumvi
    @wumvi Автор вопроса
    Порыскал на хабре нашел ответ
    habrahabr.ru/post/100961/

    в php.ini выставить
    cgi.fix_pathinfo=0
    или
    как сказал disc
    try_files $fastcgi_script_name =404;
    Ответ написан
    Комментировать
  • Рewrite как не rewrite?

    wumvi
    @wumvi Автор вопроса
    Разобрался с проблемой
    Если установить rewrite_log on
    то можно увидеть в чём причина
    происходит зацикливание и видно по логике nginx-a
    последний цикличный блок вылетает редиректом
    Ответ написан
    Комментировать
  • Рewrite как не rewrite?

    wumvi
    @wumvi Автор вопроса
    Еще одно интересное поведение mod_rewrite нашел

    на запрос вида
    site.lo/blog/category
    rewrite ^/blog/([^/]+)/(.*)$ /blog/category/ break;
    он выдаёт страницу (ту которую нужно) и ставит заголовок редиректа на
    site.lo/blog/category/
    Ответ написан
    Комментировать
  • Рewrite как не rewrite?

    wumvi
    @wumvi Автор вопроса
    Убрал $ — проблема осталась

    ^/blog/([^/]+)/?(.*)? /blog/category/$2?$1 break;
    логика у regexp такая что бы запросы
    /blog/test/
    /blog/unix/
    попадали в /blog/category/
    /blog/test/name — директория name лежит в category
    /blog/unix/name
    попадали в /blog/category/name

    (.*) — это нужно что бы всё что другое, шло параметрами, для этого ?$1
    Ответ написан
  • Рewrite как не rewrite?

    wumvi
    @wumvi Автор вопроса
    Пример конфига
    server {
    	listen 8080;
        server_name  site.lo www.site.lo;
    
        access_log  W:/hosting/site.lo/nlogs/access.log  main;
     
        error_page  500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
    		
    	location ^~ /res/ {}
    		
    	location = / {}
    
        location ~ /\.ht {
            deny  all;
        }
    		
    	rewrite ^/blog/([^/]+)/?(.*)?$ /blog/category/$2?$1 break;
    
    	location / {}
    		
    	root W:/hosting/site.lo/www/;
    	index index.php index.html index.htm;
    		
    	#For debug only
    	autoindex on;
    }
    
    Ответ написан
    Комментировать