We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32854
    • 9 Posts
    Устанавливая 2.0.6 на сервак и настраивая инсталяцию, столкнулся с тем, что понадобилось переписать хтааксесс под nginx. Естественно, в рамках минимума вам нужно всего одно единственное правило, на остальные можно забить при желании (ну разве .htc для того, чтобы ie 6 радовался, но это к mime типам):
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    


    Это правило переносится в секцию конфигурации серверов в nginx (или как там по-умному назвать) и преобразуется в практически полностью аналогичную конструкцию:
    rewrite  ^(.*)$  index.php?q=$1  last;
    


    И тут все перестает внезапно работать.
    Всему виной первый слеш, который передается во всех урлах в $q в index. Поэтому опять на коленке, как всегда, я слегка подретушировал regexp в такой:
    rewrite  ^(/|)(.*)$  index.php?q=$2  last;
    


    Конечно, это не лучшее, что можно было придумать, но оно прекрасно работает.
    Не думаю, что это очень ценная информация для хорошо разбирающихся людей, но кому-то, возможно, это сэкономит время и нервы.