A .htaccess file-ban a következő mindig érvényre jutó átirányítást végzem a honlapon:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com*
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Minden remekül működik is, de amikor bármilyen modul update-et akarok végrehajtani, akkor a következő hibaüzenetet kapom. Ha jól értem, a modul frissítéséhez szükséges file-okat nem engedi a szerverre másolnia rendszer:
An AJAX HTTP request terminated abnormally. Debugging information follows. Path: https://www.induserv.hu/authorize.php?batch=1&id=3514&op=do StatusText: ResponseText: ReadyState: 4
" Notice: Undefined index: log in update_authorize_update_batch_finished() (line 187 of /chroot/home/induserv/induserv.hu/html/modules/update/update.authorize.inc).
" Warning: Invalid argument supplied for foreach() in update_authorize_update_batch_finished() (line 187 of /chroot/home/induserv/induserv.hu/html/modules/update/update.authorize.inc).
" Notice: Undefined index: log in update_authorize_update_batch_finished() (line 236 of /chroot/home/induserv/induserv.hu/html/modules/update/update.authorize.inc).
" Update failed! See the log below for more information. Your site is still in maintenance mode.
Ugyanez a honlap egy teszt helyre költöztetve és a http-n keresztüli kommunikációt használva semmilyen problémát nem okoz, a modul frissítés is lefut.
Tényleg a https átálláshoz lehet köze? Úgy általában mi okozhatja, ha a modulok frissítése hibára fut? Mit kellene kérdeznem a szolgáltatómtól? Milyen szerver oldali paramétereket kellene leellenőriznem?
Pár tipp
Szerintem nem valószínű, hogy a HTTPS-átirányítással függ össze, inkább a rendszernaplót nézném meg, ott nem ír-e ott bővebben róla?
Az éles és a teszt tárhelyen megegyezik a PHP verzió, az engedélyezett PHP-bővítmények, a le- és feltöltési korlátok, stb? Ezt úgy tudod a legkönnyebben ellenőrizni, ha mindkét webhelyed állapotjelentés oldalán a PHP sorában megnyitod a „további információk” hivatkozást. Egy lila fejléces oldalt fogsz látni, ami rengeteg részletet felsorol az aktuális PHP-környezetről. Ha csak szemre átfutod őket és hosszra sem stimmelnek, akkor érdemes tüzetesen is összehasonlítani őket és megszüntetni a különbségeket. Csak így garantálható, hogy ugyanaz a Drupal-webhelyed 2 külön tárhelyen futtatva összehasonlítható legyen.
Ami viszont a HTTP-átirányítást illeti, gondolom ezt nem a saját .htaccess-edből másoltad, mert nincs benne a saját doménneved:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com*
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Kipróbáltam, nálam mixed content-re figyelmeztet:
A vegyesen kiszolgált tartalomról itt olvashatsz bővebben.)
HTTPs átállás utáni problémák
Természetesen a megfelelő kódsorok lettek a saját .htaccess-be másolva, nem ez az example-s cucc.
Konkrétan ugyanarról a tárhelyről van szó. Több domain-t is kiszolgál ugyanaz a tárhely. Nekem egyszerűbb így az adminisztrálás. Tehát minden verziószám meg kell hogy egyezzen.
Nem a https átállással van önmagában a bajom, az működik. Csak a modul frissítésnél a file-ok letöltése, bemásolása akad el valami miatt.
Természetesen a szolgáltató azt mondja, hogy Drupal probléma.
Nincs olyan szerver oldali paraméter, ami hathat erre?
Google a barátod :)
https://www.drupal.org/forum/support/upgrading-drupal/2011-01-05/updating-error-an-ajax-http-request-terminated-abnormally#comment-5736492
Ellenőrizd a base_url beállítást a settings.php fájlban.
A hibaüzenet linkje érdekes módon www aldomaint használ, míg az oldal a sima címre van átirányítva.
Az angol oldalon a kwt-logo-mini2.jpg http linkkel van megadva. ettől nem zöld a lakat.
Figyelj rá, hogy a belinkelt tartalmak https linkkel legyenek megadva!
HTTPs átállás utáni problémák
A base_url a settings.php-ben arra van állítva, ahová az átírányításokat teszem:
$base_url = 'https://induserv.hu';
De köszönöm az észrevételt, nekem sajnos fel sem tűnt. Ezek alapján betettem a következő sort is, hátha ez is lényeges:
$cookie_domain = '.induserv.hu';
Ennek ellenére a jelenség fennáll.
Lecseréltem a belső linkeket és képhivatkozásokat + beüzemeltem és felparamétereztem a Pathologic modult. Köszönöm, az angol oldalon a kép valóban bent maradt, javítottam.
Mi hathat még erre a hibaüzenetben megjelenő linkre?
És ha www.-s változatra iránytanám át az oldalt?
Mit jelent, hogy egy tárhelyen több oldal is fut?
Külön futnak, vagy esetleg domain access-el?
Mert a fent említett problémához hasonló szintén ismerős domain access kapcsán is. Valahol belefutottam egy bejegyzésbe ahol szintén hasonló probléma lépett fel.
Egy próbát megérne a www-s verzió is. Kíváncsi lennék, hogy ott is ugyanez a probléma lép-e fel, vagy sem.
Az akkor fix, hogy, ha visszaállítod a .htaccess-t, akkor rendben megy a frissítés, de, ahogy visszaállítod https-re, akkor elromlik?
Jó lenne letesztelni ezeket az éles oldalon, hogy közelebb kerüljünk a probléma megoldásához. Akár azt is ki lehet próbálni, hogy átirányítás nélkül a https oldalon működik-e a frissítés, vagy akkor is csak http-n?
A szerver logokban nem volt semmi bejegyzés a hibával kapcsolatvaan?
Mégis base_url beállítás probléma volt
Cache törlések után ment!
Hálás köszönetem!