LINUX.ORG.RU

YOURLS - сокращение ссылок nginx

 


0

1

Дробрый день, хотел вот поставить YOURLS для сокращения ссылок. Сайта на MODX Revo Последовательность установки:

sudo cd /var/www/new/www/
sudo wget https://github.com/YOURLS/YOURLS/archive/1.7.9.tar.gz
sudo tar -xzf 1.7.9.tar.gz
sudo chown new_man new_man -R /var/www/test/www/YOURLS-1.7.9/*
sudo cp -p YOURLS-1.7.9/* .
sudo cp -p YOURLS-1.7.9/css/* css/
sudo cp -p YOURLS-1.7.9/images/* images/
sudo cp -p YOURLS-1.7.9/js/* js/
mysql -uroot -p
     create database yourls;
     grant all privileges on yourls.* TO "yourlsuser"@"localhost" identified by "1Q2w3e4r";
     flush privileges;
     \q;
sudo cp user/config-sample.php user/config.php 
sudo nano user/config.php (редактируем конфиг - юзер, пароль, база, ссылка на сайт, пароль и логин в админку)

sudo nano ht.access (вставляем код):


<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ /yourls-loader.php [L]
</IfModule>

nginx site conf

upstream backend-test {server unix:/var/run/php/php7.2-test.sock;}
server {
    listen              80;
    server_name         dev.site.ru;
    root                /var/www/test/www;
    access_log          /var/log/nginx/test-access.log;
    error_log           /var/log/nginx/test-error.log;
    index               index.php index.html;
    rewrite_log         on;
    location /server-status {
        stub_status on;
    }
    location ^~ /core/ {                                                                                                                                                              $
        deny all;                                                                                                                                                                     $
    }
    location ^~ /static/ {
        deny all;
    }
    location / {
        try_files       $uri $uri/ @rewrite;
    }
    location @rewrite {
        rewrite         ^/(.*)$ /index.php?q=$1;
    }
    location ~ \.php$ {
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass    backend-test;
    }
    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
        access_log       off;
        expires          10d;
         break;
    }
    location ~ /\.ht {
        deny            all;
    }
}

Захожу на админку, он что то там устанавливает и можно зайти, всё работает создаю короткую ссылку и при попытке по ней перейти выдаёт ошибку 404. Как бы понятно что такой страницы нет и реврайт не работает. где-то пишут что нужно подставить

    location /{
           try_files $uri $uri/ /yourls-loader.php?$args;

Но после подстановки перебрасывает на начальную страницу dev.site.ru и так при любой попытке зайти на любую страницу.

кто-то может сталкивался?


htaccess работает только в apache, на nginx он бесполезен.

оставь такой локейшн, без рирайта:

    location / {
        try_files       $uri $uri/ /yourls-loader.php?$args;
    }

или такой

    location / {
        try_files       $uri $uri/ /yourls-loader.php?$request_uri;
    }
BaBL ★★★★★ ()
Ответ на: комментарий от BaBL

Ничего перебрасывает на http://dev.site.ru

что прописано в config.php

/** YOURLS installation URL -- all lowercase, no trailing slash at the end.
 ** If you define it to "http://sho.rt", don't use "http://www.sho.rt" in your browser (and vice-versa) */
define( 'YOURLS_SITE', 'http://dev.site.ru' );
madcry ()
Последнее исправление: madcry (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.