За последние 24 часа нас посетили 22269 программистов и 1056 роботов. Сейчас ищут 659 программистов ...

mod rewrite nginx

Тема в разделе "Настройка веб-сервера", создана пользователем RainBowDash, 31 май 2017.

  1. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Да , я знаю что это забивается в конфиг никса , я даже нашел что и понял примерно структуру этого. Есть даже конверторы из хтачеса в формат никса , но мне кажется я все же где то делаю промашку , так как не работает. Никс естественно перезагружаю после изменений. Сую код в блок server в блоке http.

    Предположим , у нас есть сайт.вотакой/ , в нем есть дериктория /папочка . Мне нужно , что бы сайт.вотакой/папочка/номерок/значение передавалось в /сайт.вотакой/папочка/папочкасоскриптами/скрипт?id=значение.
    у меня с помощью магии что то такое вышло , я пробывал дергать и так и этак , но чет не робит. (никс ребутаю для применения конфы)

    Код (Text):
    1.  
    2. location /папочка {
    3. rewrite ^/папочка/номерок/(.*)$ /папочка/папочкасоскриптами/скрипт.php?id=$1;
    4. }
    Пробывал без слешей в начале , пробывал location / {}. Дописывал в конце last по аналогии с примерами из интернетов. И единственное что я точно понял в конце , это то что я не понимаю как это работает и почему ничего не получается.
    Примеры в инете либо очень простые , либо очень сложные. И нет похожих вариантов.

    Надеюсь на вашу помощь. Спасибо!
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    А тот ли блок server? Конфиг нжинкса веселый в этом плане. Этих блоков там много может быть. И за раз отработает только один.
     
  3. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Не знаю всех тонкостей никса , но в файле конфигурации только один блок http и я в нем сам создавал блок server так как его не было. Других там нет , сейчас проверил.

    Я по началу даже не понял куда это нужно сувать (в фагах толком об этом никто не писал, говорили просто в файл конфигурации), в плане этих блоков и никс при перезагрузке ругался на моё мракобесие в конфиге. Гугл помог сделать так , чтобы ошибок не выскакивало. Могу предположить , что я все правильно засунул.
    --- Добавлено ---
    Может нужно создать блок server вне блока http ? Просто там в конфигурации зацетированы настройки почты и там как раз блок server внутри этих настроек , я подумал , что нужно пихать этот блок в http. Ну логично вроде , по крайне мере у меня в голове.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    А по дефолту виртуальные хосты в нем не прписаны. Они прописаны в подключаемых файлах. Если бы блока server не было вообще нигде, фиг бы у тебя что работало.

    Ищи файлы с виртуальными хостами либо в /etc/nginx/sites_enabled, либо в /etc/nginx/conf.d/
    --- Добавлено ---
    Никсами обычно назвают *nix-системы. Nginx - это нжинкс.
     
  5. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    в sites enable только default и example.com . Ярлыки вникуда. Там нужно создать файл ? А как его назвать ? Я не сильно знаком со всем этим , но у меня начинает складываться ощущение , что фаги в инете для этого дела написаны явно не для таких как я. В них слишком мало подробностей.

    Ну да , хз , я его так называю и постоянно путаюсь как оно правильно пишется :D
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    норм документашка что по апачи, что по энжин-иксу (да, @Fell-x27 , сорри, но Сысоев просил именно так), что по пыху, что по мускулу/машке, джаваскрипту, каскадным таблицам, разметке гипертекста. Короче по всем основным приложениям и технологиям в стеке. Мы же пишем. Зачем ты так нас...
     
  7. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Я не против чтобы меня ткнули носом , мне просто нужен результат , не более. Если бы на серваке стоял апач , я бы уже давно зарерайтил быдлокодом в хтачесссссссссс . Но тут я так понимаю я даже не понял куда же мне всетаки это надо прописать.
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Всё как бы просто. Нгинкс начинает сборку конфигурации с адреса, указанного директивой conf-path при комиляции. В дебиан-подобных форках - /etc/nginx/nginx.conf
    Читаешь этот файл и смотришь какие еще каталоги и файлы он собирает. Далее лезешь в эти каталоги и смотришь что да как там. И так далее пока не соберешь единую конфигурацию. Прям можешь в текстовый файл её накидывать. А потом сюда кидай.
     
  9. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    ну как и писал выше чувак с аватаркой суриката , я нашел там каталоги о которых он писал :
    Код (Text):
    1.  
    2.     include /etc/nginx/conf.d/*.conf;
    3.     include /etc/nginx/sites-enabled/*;
    В первом пусто , во втором ярлыки видимо дефолтные вникуда.
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Ну как это вникуда? Откуда-то у тебя ж виртуальные хосты конфигурируются. Давай хошь через ссш подключусь гляну что да как)))
     
  11. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Пока 4 варианта нашел.
     
    igordata нравится это.
  12. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Я вижу что там ничего нету , у вас я полагаю был подобный опыт , почему просто им не поделится. Я так понимаю , что мне нужно создать файл какоетоназвание.conf в папке conf.d . Как его назвать ? А если это не имеет значение , то почему простым создание блока server в блоке http и засовыванием туда моего кода проблема не решается ? Ведь эти файлы должны инклюдится как раз в том самом блоке.
    --- Добавлено ---
    Крч тут поступила инфа , что там нижуя не настроено и юзается дефаулт и изменять это все можно только из консоли. Ладно ,я понял куда нужно копать. Спасибо и на этом.
    --- Добавлено ---
    Крч тут поступила инфа , что там нижуя не настроено и юзается дефаулт и изменять это все можно только из консоли. Ладно ,я понял куда нужно копать. Спасибо и на этом.
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Ну так-то у меня 10 лет опыта настройки хостинга. Чем-то поделиться с человеком, который не может вынести инфу из мануала? Я тебе в общем-то не сильно больше чем в мануале скажу. И чем это тебе поможет. Да, у тебя скорее всего юзается дефолт, симлинк которого есть во включенных, а исходник - в доступных. Что тебе это даст? Тебе еще рерайт же надо настроить. Ну как знаешь в общем-то. Приятного вечера.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    мне кааца это вообще не рерайт надо тут юзать прост :D
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Это у тебя название домена такое чтоли? Когда сервер ведет вникуда, он, по запросу клиента, не вернет страницу. Копируешь дефолтный конфиг, меняешь расширение, чтобы он соханился на всякий, но не цеплялся сервером. Переименовываешь скопированный файл по вкусу. Залезаешь в него, настраиваешь сервер. Покуда у тебя как-то это дело работало, по сути тебе надо будет только servername нормальный поставить, для начала. И потом уже в этом сервер-конфиге допиливать все остальное, что хочется.

    nginx - разработка нашего соотечественника. Документация на русском появилась на годы раньше английской версии. Документация подробная. С примерами. Причем на примеры Сысоев не скупился при написании. Есть прям отдельные страницы с ними.

    Есть даже отдельно описание схемы обработки запроса и работы с конфигами. Все ж есть. Тратишь полчаса на прочтение залпом - и у тебя уже есть достаточно знаний для какой-никакой настройки этого дела без тыкания пальцем в небо.

    Nginx, на деле, в плане настройки, в чем-то очень похож на Папач, а в чем-то проще и логичнее.
    Хз, как можно было разобраться в Папаче, но ниасилить Nginx. Там ж все сделано, что называется, "для людей".
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
  17. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Примеров конфига полным полно на сайте nginx. И на хабре. И вообще во всем интенете.
    Блин, ну правда, он ж простой как два пальца.
     
  18. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Как оказалось нужно было писать не так :
    Код (Text):
    1. location /папочка {
    2. rewrite ^/папочка/номерок/(.*)$ /папочка/папочкасоскриптами/скрипт.php?id=$1;}
    А вот так :
    Код (Text):
    1. location /папочка/номерок/ {
    2. rewrite ^/папочка/номерок/(.*)$ /папочка/папочкасоскриптами/скрипт.php?id=$1 last;}
    Хотя отдельный конфиг под конкретный сайт(домен) никто не отменял. Не знаю зачем вы меня хотели заставлять разгребать кучу бесполезного гумна :D
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    чувак. мне кажется ты неправильно подошел к решению вопроса. честно.
    тебе интересно моё мнение или работает и xyй с ним?
     
  20. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Мне было интересно решить поставленную задачу. Я прирождённый быдлокодер и придерживаюсь идеологии "чтоб работало" .
    Нужно было конкретно с рерайтами разобраться , че там в nginx'е с чем спаривается если честно меня не сильно волнует :D

    Твоё мнение очень интересно если оно содержит в себе выжимки полезной инфы , которая может помочь решить поставленную задачу.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    так ты её решил уже
     
  22. RainBowDash

    RainBowDash Активный пользователь

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    По сути нового для себя я тут ничего не подчерпнул. Ну кроме того , что неплохо было бы создать настройки под конкретный домен.
    Я конечно понимаю? что тут в любом разделе налетают "учителя" как в разделе "php для новичков", которые возможно и хотят помочь , но тут более конкретный раздел :D
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    да пофик