Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2020-07-03 07:05:37

ab65
Membre
Inscription : 2020-07-03

Il manque /admin dans les URI

Bonjour! C'est mon premier post sur le forum.

Je viens d'installer dotclear 2.16.9 manuellement, à la racine de mon site.
https://blog.synopse.info fonctionne bien.

Mais lorsque je vais dans l'interface d'administration, et qu'il y a une modification d'un paramètre (je clique sur "Enregistrer"), l'URI de redirection n'est pas correcte.

Par exemple, je suis dans https://blog.synopse.info/admin/blog_pref.php
et "Enregistrer" me redirige vers https://blog.synopse.info/blog_pref.php

J'ai donc un 404 et doit rajouter /admin manuellement au milieu de l'URI.


Info: j'ai bien dans mon config.php:

// Admin URL. You need to set it for some features.
define('DC_ADMIN_URL', 'https://blog.synopse.info/admin/');

J'ai essayé de rebooter le server, et flusher le cache dans "Maintenance" sans changement.

Dernière modification par ab65 (2020-07-03 07:17:04)

Hors ligne

#2 2020-07-03 15:30:31

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Il manque /admin dans les URI

Bonjour et bienvenue.

C'est étrange, il semble qu'il y ait une redirection par le serveur sur la racine du répertoire /admin/. Je ne connais pas bien nginx, as-tu vérifié à ce niveau ?

Hors ligne

#3 2020-07-03 20:12:13

ab65
Membre
Inscription : 2020-07-03

Re : Il manque /admin dans les URI

Bonne remarque je n'avais pas vu le 302...

J'ai du mal à trouver une doc de référence pour dotclear + nginx.
Je n'ai rien trouvé sur la doc officielle.
Tu aurais un lien?

Hors ligne

#4 2020-07-03 20:13:55

ab65
Membre
Inscription : 2020-07-03

Re : Il manque /admin dans les URI

Il n'y a pas de 302 dans ma config.
C'est le php qui fait le 302.

  
File: /etc/nginx/sites-available/blog.synopse.info                                                                                             

server {

        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        root /var/www/blog.synopse.info;
        index index.php index.html index.htm;
        autoindex on;

        server_name blog.synopse.info;

        location = /favicon.ico { log_not_found off; access_log off; }
        location = /robots.txt { log_not_found off; access_log off; allow all; }

        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
                expires max;
                log_not_found off;
        }

        location / {
                try_files $uri $uri/ /index.php?$uri;
        }

        location ~ /.well-known {
                allow all;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;

                  fastcgi_param  PATH_INFO       $fastcgi_path_info;

                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }


    ssl_certificate /etc/letsencrypt/live/blog.synopse.info/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/blog.synopse.info/privkey.pem; # managed by Certbot
}

server {
    if ($host = blog.synopse.info) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

Hors ligne

#5 2020-07-03 20:27:38

ab65
Membre
Inscription : 2020-07-03

Re : Il manque /admin dans les URI

Si je comprends bien ça pourrait venir de là.

/var/www/blog.synopse.info/inc/admin/prepend.php 

} elseif ($core->auth->sessionExists()) {
    # If we have a session we launch it now
    try {
        if (!$core->auth->checkSession()) {
            # Avoid loop caused by old cookie
            $p    = $core->session->getCookieParameters(false, -600);
            $p[3] = '/';
            call_user_func_array('setcookie', $p);

            http::redirect('auth.php');
        }
    } catch (Exception $e) {
        __error(__('Database error')
            , __('There seems to be no Session table in your database. Is Dotclear completly installed?')
            , 20);
    }

Hors ligne

#6 2020-07-04 07:48:52

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Il manque /admin dans les URI

ab65 a écrit :

J'ai du mal à trouver une doc de référence pour dotclear + nginx.

On va essayer une autre approche : je vais signaler ce fil à l'un des sorciers qui connaît mieux nginx que moi ;)

Edit : dans la configuration du serveur, je vois que tu utilises le path_info comme méthode de lecture des URLs. Pourrais-tu essayer en query_string ?

Dernière modification par Philippe (2020-07-04 08:02:52)

Hors ligne

#7 2020-07-09 16:05:29

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : Il manque /admin dans les URI

J’arrive un peu en retard ! J’ai fait un tuto sur la config nginx ici, je ne sais pas si ça peut aider. Comment se passent les redirections PHP dont tu parles ?


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#8 2020-07-20 09:40:40

ab65
Membre
Inscription : 2020-07-03

Re : Il manque /admin dans les URI

The nginx configuration seems correct.
It is not a path issue.
It is a redirection (302) problem.

The problem is that the DC_ADMIN_URL is not appended to the redirection.
Here is what the PHP answers e.g. when I modify a post (pasted from Chrome debugger):

Request URL: https://blog.synopse.info/admin/post.php
Request Method: POST
Status Code: 302 
Remote Address: 62.210.254.173:443
Referrer Policy: strict-origin
cache-control: no-store, no-cache, must-revalidate
content-type: text/html; charset=UTF-8
date: Mon, 20 Jul 2020 09:34:02 GMT
expires: Thu, 19 Nov 1981 08:52:00 GMT
location: https://blog.synopse.info/post.php?id=366
pragma: no-cache
server: nginx/1.10.3 (Ubuntu)
status: 302

If I write anything in DC_ADMIN_URL, it is not taken into account:

/var/www/blog.synopse.info/inc/config.php 

// Admin URL. You need to set it for some features.
define('DC_ADMIN_URL', 'https://blog.synopse.info/admin/');

Hors ligne

#9 2020-07-20 16:09:35

nanart
Membre
Lieu : Roubaix
Inscription : 2007-08-19

Re : Il manque /admin dans les URI

Effectivement https://blog.*****/admin/ renvoie https://blog.*****/auth.php d'où -> 404
+idem pour https://blog.*****/admin/index.php


alors que pour une url directe https://blog.*****/admin/auth.php ça semble ok: pas de redirection...


Donc, amha, y a "qq chose" qui redirige : (? /admin/index.php vers ?/index.php/auth.php ?)


It is a redirection (302) problem

Dernière modification par nanart (2020-07-21 17:25:32)


Dernière version stable Dotclear sur wampserver et chez ovh
Versions testing & unstable en local
https
php: 5.6.40 & 7.3.5

Hors ligne

#10 2020-07-22 21:02:06

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : Il manque /admin dans les URI

À mon avis, le soucis vàent de cette partie du fichier de conf :

 location / {
                try_files $uri $uri/ /index.php?$uri;
        }

Tu rediriges, si l'url exacte n'est pas trouvée, vers l'index du blog : c'est, je pense, une mauvaise idée. En reprenant mon tuto signalé plus haut, utilise la réécriture par @dotclear_path_info ou remplace /index.php ? $uri par 404, carrément.


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map