Witajcie,
Zmagam się od wczoraj z następującym problemem. Korzystam z DirectAdmin'a na jednym z VPS, na innych jest czysty Debian, zdecydowanie bardziej preferuję nginx'a.
Certyfikaty wildcard SSL zakupione, DA prawidłowo je rozpoznał i pokazał datę ważności. Po włączeniu obsługi SSL dla jednej z domen, na którym stoi sklep internetowy mam błąd
ERR_TOO_MANY_REDIRECTS.
Umieściłem w pliku .htaccess zalecane przez help DA przekierowania:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Konfigurację vhostów wrzuciłem tutaj:
https://pastebin.com/Jv9EZa3XSklep został zainstalowany w katalogu /public_html/application/public i tam też jest plik .htaccess, który wygląda następująco:
#AddHandler x-httpd-php53 .php
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# use if needed:
#RewriteBase /
RewriteRule ^$ / [QSA]
RewriteCond %{REQUEST_FILENAME} ([a-z_]+?)_picture/(.*?)\.(?:jpg|png)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([a-z_]+?)_picture/(.*?)/(.*?)\.(jpg|png)$ thumbnailer/create/$1/$2/$3/$4 [QSA,L]
# some hosts need redirect:
# RewriteRule ([a-z_]+?)_picture/(.*?)/(.*?)\.(jpg|png)$ thumbnailer/create/$1/$2/$3/$4 [QSA,R,L]
# redirects request to nonexisting CSS and JS to empty CSS/JS files [so you dont need to define module CSS/JS if you dont need it]
RewriteCond %{REQUEST_FILENAME} ^(.*?)\.css$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ stylesheets/core/no_css.css [QSA,L]
RewriteCond %{REQUEST_FILENAME} ^(.*?)\.js$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ javascript/core/no_js.js [QSA,L]
# displays 404.html if IMAGE is not found
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} images/.*?(png|jpg|gif)
# ^^ may catch valid requests that contain "images/" and have image extension!!!!
RewriteRule ^(.*)$ 404.html [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
# also OK RewriteRule ^(.*)$ index.php/%{REQUEST_FILENAME} [QSA,L]
# define error pages
ErrorDocument 404 error_page.php
ErrorDocument 406 error_page.php
ErrorDocument 500 error_page.php
Dzisiaj spróbowałem jeszcze jednej rzeczy. Przeniosłem wszystkie pliki sklepu wraz z katalogami z public_html do private_html. Zmieniłem w DA
|*if !SUB|
|?DOCROOT=/home/admin/domains/my-shop.net/public_html/application/public|
|*endif|
na
|*if !SUB|
|?DOCROOT=/home/admin/domains/my-shop.net/private_html/application/public|
|*endif|
W lokalizacji /public_html/application/public stworzyłem .htaccess z zawartością:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Po odświeżeniu domeny sklepu pojawiła się zielona kłódka, niestety są błędy:
Warning
: require_once(/home
/admin
/domains
/my
-shop
.net
/public_html
/application
/public/../../framework
/gp
/event_dispatcher
/EventDispatcherGP
.php
): failed to open stream
: No such
file or directory in
/home
/admin
/domains
/my
-shop
.net
/private_html
/framework
/autoloader
/Autoloader
.php on line 66
Fatal error: require_once(): Failed opening required '/home/admin/domains/my-shop.net/public_html/application/public/../../framework/gp/event_dispatcher/EventDispatcherGP.php' (include_path='.:/usr/local/lib/php:/home/admin/domains/my-shop.net/private_html/application:/home/admin/domains/my-shop.net/private_html/framework:/home/admin/domains/my-shop.net/private_html/framework/libs/:/home/admin/domains/my-shop.net/private_html/application/libs/ThirdParty') in /home/admin/domains/my-shop.net/private_html/framework/autoloader/Autoloader.php on line 66
Zrobiłem też link symboliczny, ale nie pomogło:
ln -s /private_html/application/public -> /public_html/application/public
Sprawdziłem wszystkie pliki w katalogu config i nie mogę znaleźć dlaczego skrypt chce wczytywać z public_html. Macie jakieś pomysły a może źle kombinuję? Przypuszczam, że gdzieś trzeba odświeżyć wpisy, w bazie danych nic nie widzę. Sklep www jest na silniku i-sklep.pl (i-systems.pl). Gdyby to była Presta lub coraz bardziej popularny thirtybees to sprawa jest prosta.
Dodam jeszcze, że subdomena z zainstalowaną Livezillą do obsługi chatu działa po https prawidłowo.PS. Znalazłem plik ssl_template.php, ale to chyba nie to...
<?php
/**
* 1. Enable SSL in 'enabled'
* 2. Define which domains (not aliases) should use SSL in 'ssl_domains'
* 3. Configure 'admin_sections_prefixes' if needed (this is to support '/admin/*' urls)
* 4. Configure controllers to return public function getActionsForSSL()
* 5. Refresh controller configuration cache in /admin/technical_panel
* 5.1 Refresh this cache config after each change in controllers
*/
'enabled' => true,
// 'enabled' => false,
'secure.site.pl'
),
// check plugins.php
// and copy all prefixes configured in: $pluginManager->registerPlugin( Framework_Plugins_PluginManager::AFTER_ROUTING, new Application_AdminSectionPlugin(array('admin')));
'admin_sections_prefixes' => array( 'admin',
)
);
Ten post edytował adikdvb 9.05.2018, 10:58:48