1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

Правила для работы ЧПУ в XenForo под Nginx

Тема в разделе "Советы, руководства и видео-уроки", создана пользователем FractalizeR, 11 окт 2010.

Загрузка
  1. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Волшебство, не иначе :)
     
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    [offtop]Напомнило:
    [​IMG][/offtop]
     
    infis нравится это.
  3. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Я, собственно, это и имел ввиду ;)
     
  4. kovarnyi

    kovarnyi Местный

    Регистрация:
    09.05.13
    Сообщения:
    103
    Симпатии:
    1
    Версия XF:
    1.2.4
    а как сделать так, что бы при вставке ссылки она заменялась на заголовок вставляемой ссылки... автоматически?
     
  5. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    А какое это имеет отношение к теме топика?
     
    Romchik® нравится это.
  6. kovarnyi

    kovarnyi Местный

    Регистрация:
    09.05.13
    Сообщения:
    103
    Симпатии:
    1
    Версия XF:
    1.2.4
    я связываю этот вопрос с ЧПУ. Но если ошибаюсь, то прошу прощения. Поиск не помог просто. Возможно, не верно формулирую запрос.
     
  7. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1.921
    Симпатии:
    1.160
    Версия XF:
    1.0.4
    @kovarnyi В данном случае или искать готовый хак (насколькпомнб на оффсайте было что-то подобное, но насколько точно такое - не в курсе)
    или заказывать разработку с нуля.
     
  8. finargot

    finargot Новичок

    Регистрация:
    04.07.14
    Сообщения:
    6
    Симпатии:
    0
    Версия XF:
    1.3.3
    Сделал. Получаю 404 на любой странице сайта
     
  9. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5.740
    Симпатии:
    5.269
    Версия XF:
    1.5.11
    Обновил первое сообщение, добавил строчку:
    Код:
       try_files $uri =404;
    Но не думаю, что это из-за нее не работает.
     
    Mirovinger нравится это.
  10. EIiwud1

    EIiwud1 Новичок

    Регистрация:
    11.10.14
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.0.1
    куда их в конец конфига кидать?объяснили бы по человечески

    месяц не могу включить ЧПУ на apache2+nginx походу и не включу
     
  11. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    999
    Симпатии:
    546
    Версия XF:
    1.4.4
    Зачес вы тогда настраивает в nginx правила? Вам достаточно стандартного .htaccess идущего в комплекте.
    Объяснит вам системный администратор за соответствующую плату. А тут требовать с вашим-то числом сообщений неразумно.
     
  12. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Если стоит связка nginx+apache2, то на nginx ничего не трогайте. Так как nginx лишь проксирует запросы. По факту нужно использовать .htaccess, который идет в комплекте с ксеном. Там при необходимости (если ксен установлен не в корневую папку сайта) нужно снять ремарку со строки RewriteBase и задать путь.
     
  13. fly_indiz

    fly_indiz Местный

    Регистрация:
    20.08.11
    Сообщения:
    460
    Симпатии:
    352
    Версия XF:
    1.4.3
    На всякий случай список моих правил (Для случая когда nginx без апача сам работает с php cgi).
    Кстати - сталкивался неоднократно с ошибками описанными тут: http://www.xf-russia.ru/forum/threads/oshibki-v-nginx.7131/
    Вероятно редкие "кривые" вызовы, исправил их реврайтами вначале:
    Код:
        # Some incorrect calls from browsers
        rewrite ^/(.*)/data/avatars/(.*)$ /data/avatars/$2 last;
        rewrite ^/(.*)/styles/(.*)/xenforo/(.*)$ /styles/$2/xenforo/$3 last;
        rewrite ^/http:/(.*)/login/login$ /login/login last;
    
        # Full Friendly URLs
        location / {
            try_files          $uri $uri/ /index.php?$uri&$args;
            index              index.php index.html;
        }
    
        # Security
        location = /admin.php {
            try_files          $uri =404;
            proxy_read_timeout 120;
            fastcgi_pass       backend;
            fastcgi_index      index.php;
            include            PATH/fastcgi.conf;    #Change to YOUR php call
            allow              127.0.0.0/8;
            allow              192.168.0.0/16;    #Allowed IPs
            deny               all;
        }
        location = /install/index.php {
            try_files          $uri =404;
            proxy_read_timeout 120;
            fastcgi_pass       backend;
            fastcgi_index      index.php;
            include            PATH/fastcgi.conf;    #Change to YOUR php call
            allow              127.0.0.0/8;
            allow              192.168.0.0/16;
            deny               all;
        }
        location = /install/install.css {
            allow              127.0.0.0/8;
            allow              192.168.0.0/16;   #Allowed IPs
            deny               all;
        }
        location ~ ^/(install|internal_data|library)/ {
            internal;
        }
        location ~ /\.ht {
            deny               all;
        }
    
        # PHP engine
        location ~ \.php$ {
            try_files          $uri /index.php =404;
            proxy_read_timeout 120;
            fastcgi_pass       backend;
            fastcgi_index      index.php;
            include            PATH/fastcgi.conf;    #Change to YOUR php call
        }
    
        # Static content
        location ~* \.(?:jpg|jpeg|gif|png|ico|gz|svg|svgz|mp3|mp4|ogg|ogv|webm|htc|ttf|ttc|otf|eot|woff|font.css)$ {
            expires            30d;
            access_log         off;
            add_header         Cache-Control  public;
        }
    
    Соответственно поменять вызов PHP на свой и добавить разрешённые IP для доступа к админке и к инсталлеру.
     
    Romchik®, Mirovinger и infis нравится это.
  14. fly_indiz

    fly_indiz Местный

    Регистрация:
    20.08.11
    Сообщения:
    460
    Симпатии:
    352
    Версия XF:
    1.4.3
    Заметил - при включённом ЧПУ - редко бывают вызовы с index.php. Примеры:
    Код:
    "POST /index.php?editor/to-bb-code HTTP/1.1" 200 814 "http://xenforo.no-ip.org/threads/2/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2236.0 Safari/537.36"
    "GET /forums/index.php HTTP/1.0" 301 0 "http://xenforo.no-ip.org/forums/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"
    "GET /members/index.php HTTP/1.0" 301 0 "http://xenforo.no-ip.org/index.php" "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.17"
    
    и др.
    Отловить в браузере не удалось - слишком редко выходят такие случаи.
    Для решения - дополнительный реврайт перед определением ЧПУ:
    Код:
    rewrite ^/(.*)/index.php$ /$1/ last;
    
    добавить в общий комплект (в блок # Some incorrect calls from browsers) постом выше не смог - здесь запрет на редактирование по таймауту.
     
    Mirovinger нравится это.
  15. prunijoff

    prunijoff Новичок

    Регистрация:
    06.02.16
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.5.5
    Ребят. Здравствуйте. Подскажите пожалуйста куда вставить мне код?
    Код:
    #user 'blits' virtual host 'спрятал' configuration file
    server {
        server_name спрятал.ru www.спрятал.ru;
        charset off;
        disable_symlinks if_not_owner from=$root_path;
        index index.html index.php;
        root $root_path;
        set $root_path /var/www/blits/data/www/спрятал.ru;
        access_log /var/www/httpd-logs/спрятал.ru.access.log ;
        error_log /var/www/httpd-logs/спрятал.ru.error.log notice;
        listen спрятал;
        listen [2a03:f480:1:d::cf]:80;
        include /etc/nginx/vhosts-includes/*.conf;
        location / {
            location ~ [^/]\.ph(p\d*|tml)$ {
                try_files /does_not_exists @php;
            }
        }
        location @php {
            fastcgi_index index.php;
            fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@спрятал.ru";
            fastcgi_pass unix:/спрятал;
            fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
            try_files $uri =404;
            include fastcgi_params;
        }
        ssi on;
    }
    server {
        server_name спрятал.ru www.спрятал.ru;
        charset off;
        disable_symlinks if_not_owner from=$root_path;
        index index.html index.php;
        root $root_path;
        set $root_path /var/www/blits/data/www/спрятал.ru;
        access_log /var/www/httpd-logs/спрятал.ru.access.log ;
        error_log /var/www/httpd-logs/спрятал.ru.error.log notice;
        include /etc/nginx/vhosts-includes/*.conf;
        location / {
            location ~ [^/]\.ph(p\d*|tml)$ {
                try_files /does_not_exists @php;
            }
        }
        location @php {
            fastcgi_index index.php;
            fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@спрятал.ru";
            fastcgi_pass unix:/var/www/php-fpm/blits.sock;
            fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
            try_files $uri =404;
            include fastcgi_params;
        }
        ssi on;
        add_header Strict-Transport-Security "max-age=31536000;";
        listen *:443 ssl http2;
    
        ssl_certificate "/var/www/httpd-cert/blits/спрятал";
        ssl_certificate_key "/var/www/httpd-cert/blits/спрятал";
    deny all;
    }
    
    Или пожалуйста, пришлите готовый вариант) спасибо:)

    Форум лежит в корне)
     
    Последнее редактирование: 8 фев 2016

Поделиться этой страницей