Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Pages : 1
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
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
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
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
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
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
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
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
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: 7.4 - 8 +
Hors ligne
À 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
Pages : 1
Vous n'êtes pas identifié(e).