Nejste přihlášeni
Dobrý den,
celý den zkouším přesměrovat přes .htaccess klasické http na https,
krátký popis toho co se děje:
pokud zadám celou adresu správně: funguje i s certifikátem
https://rmracingservis.cz/cs/
pokud ale napíšu cokoliv jiného:
https://rmracingservis.cz
www.rmracingservis.cz
https://rmracingservis.cz
https://www.rmracingservis.cz
jsem přesměrován skoro správně, ale nějakým zapříčiněním mi tam server dogenerovává port 80 -ZLE, ssl fičí na 443 - výsledek:
https://rmracingservis.cz:80/www/cs/
error:SSL_ERROR_RX_RECORD_TOO_LONG
mohl by mi prosím pěkně někdo poradit, jak z toho ven? Jde o framework nette, takže ne že se potřebuju otočit jen http/https, ale také do složky www. Řekl bych, že zde pár lidí, kteří mají web psaný v nette bude a hádám že i s certifikátem.
zde přikládám obsah htaccess, který je ve složce web:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?rmracingservis\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(www\.)?rmracingservis\.cz$
RewriteRule ^(.*)$ /www/$1 [L,NE]
zde přikládám obsah htacess ve složce www
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
# use HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !(BlackBerry)
RewriteCond %{HTTP_USER_AGENT} !(Windows\sNT\s5\.[12])
RewriteCond %{HTTPS} !on
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\.(?!well-known/) - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
Pokud byste tam někdo našel jakoukoliv chybu budu moc vděčný, routy jsem zkuoumal, těmi to není a můžu vyloučit.
Typy pro administrátory serveru zde:
https://stackoverflow.com/questions/133 … p-to-https
https://www.namecheap.com/support/knowl … t-to-https
https://httpd.apache.org/docs/trunk/rew … pping.html
https://stackoverflow.com/questions/119 … apache-ssl
s pozdravem
FV
Offline
Offline
Dobrý den, děkuji za tip.
Úplně to nefungovalo, ale navedlo mě to na dalších vláknech na řešení poblému. Váš server je zjevně podobně nastaven jako Active24. Zasílám obsahy souborů pro další nešťastníky, jako jsem byl včera já
htaccess ve složce www:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^www/
RewriteRule ^(.*)$ www/$1
</IfModule>
htaccess ve složce www:
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
# use HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_USER_AGENT} !(BlackBerry)
RewriteCond %{HTTP_USER_AGENT} !(Windows\sNT\s5\.[12])
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\.(?!well-known/) - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
ve složce www index.php uplně nahoru:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' && isset($_SERVER['SERVER_PORT']) && in_array($_SERVER['SERVER_PORT'], [80, 82])) { // https over proxy
$_SERVER['HTTPS'] = 'On';
$_SERVER['SERVER_PORT'] = 443;
} elseif ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'http' && isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 80) { // http over proxy
$_SERVER['HTTPS'] = 'Off';
$_SERVER['SERVER_PORT'] = 80;
}
}
pomohl mi odkaz zde:
https://forum.nette.org/cs/30089-ssl-u- … -ve-slozce
s pozdravem
FV
Offline