Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (17)

Наибольший вклад в теги

Все теги (111)

Лучшие ответы пользователя

Все ответы (354)
  • Зачем запрещать ajax запросы с других доменов?

    Lynn
    @Lynn
    nginx, js, css
    А вы хотите что бы я запросом на sber.ru перевёл все ваши деньги или запросом в vk.com выложил на вашей стене что-нибудь интересное?

    В проксировании через бекенд нет моей авторизации в браузере и это самое главное
    Ответ написан
  • Что значит "--" флаг во многих git операциях?

    Lynn
    @Lynn
    nginx, js, css
    По довольно распространённому соглашению, все параметры после двойной черты считаются позиционными (чаще всего это имена файлов). git придерживается этого соглашения.

    Например кто-то случайно создал файл с именем -n, а вы хотите вывести все файлы в папке командой cat
    $ ls -l
    total 8
    -rw-rw-r-- 1 lynn lynn 6 Apr 19 12:34 file1
    -rw-rw-r-- 1 lynn lynn 6 Apr 19 12:33 -n

    если просто выполнить cat *, то получится странное:
     $ cat *
         1	file1

    потому что bash раскрыл звёздочку и получилась команда can file1 -n, т.е. вывести файл file1 с нумерацией строк.
    А вот так всё выведется правильно:
    $ cat -- *
    file1
    a
    b
    c

    Потому что раскроется в cat -- file1 -n, но по соглашению, после -- не может быть ключей команды, только имена файлов.

    Конкретно в git есть ещё более строгое соглашение, по которому параметры после -- могут быть только путями.
    Например если у вас есть файл test и ветка test, то будет так:
    $ git branch 
    * master
      test
    
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
    	modified:   test
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    $ git reset test
    fatal: ambiguous argument 'test': both revision and filename
    Use '--' to separate paths from revisions, like this:
    'git <command> [<revision>...] -- [<file>...]'
    
    $ git reset -- test
    Unstaged changes after reset:
    M	test
    Ответ написан
  • Стоит ли использовать табличную верстку, на примере Toster.ru?

    Lynn
    @Lynn
    nginx, js, css
    А теперь уменьшайте ширину окна браузера и посмотрите как меняется страница. И подумайте сколько времени и усилий понадобится что бы сверстать так же на таблицах. И получится ли вообще.
    Ответ написан
  • Как можно конвертировать .htaccess для работы в Nginx?

    Lynn
    @Lynn
    nginx, js, css
    Я знаю самое лучшее средство — мозг.

    1. Прочитать и понять что делает .htaccess
    2. Написать нужные строчки в конфиге nginx.

    Читаем:
    RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$
    RewriteRule ^(.*) $1 [QSA,L]

    Понимаем, что статика должна просто отдаваться как есть без попытки обрабатывать её в PHP.
    Пришем
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }


    Читаем
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_URI} \.(ini|ph.*)$
    RewriteRule ^(.*) index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L,QSA]

    Тут два разных условия.
    Первое — если файла не существует, второе — если запросили файл закнчивающийся на .ini или .ph<что-то> (кстати, регулярка идиотская, т.к. под неё попадает слишком много, например my.physics.html).
    При выполнении любого из них запрос должен быть передан в index.php.

    Первое условие пишется стандартно
    location / {
      try_files $uri /index.php;
    }


    Второе
    # скорее всего нужно что-то типа \.(ini|php|phps|php4|php5)$
    # или хотя бы \.(ini|ph\w*)$
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }


    Итого:
    location / {
      try_files $uri /index.php;
    }
    location ~ \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml|zip|txt|doc)$ {
      # ничего не нужно, просто отдаём файлы
    }
    
    location ~ \.(ini|ph.*)$ {
      rewrite ^ /index.php break;
    
      fastcgi_pass 127.0.0.1:9002;
      # и прочие fastcgi_*
    }
    Ответ написан