Страница 2 из 2

Re: OSPanel + SSL + .htaccess (редирект с www на без www)

Добавлено: 03 окт 2023, 04:43
wowa
PhpStorm писал(а): 22 дек 2017, 21:14 Здравствуйте!

После установки на локалке самоподписанного SSL сертификата прописал в штекер:

1. Редирект с http на https - работает.

2. Редирект с www на без www - не работает, ввожу адрес http://site.loc, в браузере открывается защищённый адрес https://site.loc, но после того как добавляю www, то есть https://www.site.loc, то соединение становится незащищённым и браузер выдаёт

Не удается получить доступ к сайту
Не удалось найти IP-адрес сервера www.site.loc
Выполните диагностику сети в Windows.
DNS_PROBE_FINISHED_NXDOMAIN

Кто сталкивался с таким, как пофиксить?

Спасибо.
у меня та же ситуация.

редирект с www. на домен работает только если задать алиас.

код никакой не работает для редиректа с www. на домен без алиаса - почему???
так и должно быть?
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.vveb.ws$ [NC]
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
 
RewriteCond %{HTTP_HOST} ^www\.vveb\.ws
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.vveb.ws$ [NC]
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.vveb\.ws
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]
я не знаю нужен ли слеш перед точкой "\." в домене и "$ [NC]" в конце (в сети я нашол разные варианты написания) . но ни один из вариантов не работает без алиаса.

редирект с http:// на https:// работает
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
SSL настроен уже.

вот полный код:
<Files "Apache*vhost.conf">
Require all denied
</Files>

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.vveb.ws$ [NC]
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
 
RewriteCond %{HTTP_HOST} ^www\.vveb\.ws
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.vveb.ws$ [NC]
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.vveb\.ws
RewriteRule ^(.*)$ https://vveb.ws/$1 [R=301,L]



RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


RewriteRule "^/(?!.well-known/acme-challenge)(.*)" https://vveb.ws/$1 [R=301,L]

</IfModule>

ErrorDocument 400 /page_errors.php?error=400
ErrorDocument 401 /page_errors.php?error=401
ErrorDocument 402 /page_errors.php?error=402
ErrorDocument 403 /page_errors.php?error=403
ErrorDocument 404 /404.php
ErrorDocument 405 /page_errors.php?error=405
ErrorDocument 406 /page_errors.php?error=406
ErrorDocument 407 /page_errors.php?error=407
ErrorDocument 408 /page_errors.php?error=408
ErrorDocument 409 /page_errors.php?error=409
ErrorDocument 410 /page_errors.php?error=410
ErrorDocument 411 /page_errors.php?error=411
ErrorDocument 412 /page_errors.php?error=412
ErrorDocument 413 /page_errors.php?error=413
ErrorDocument 414 /page_errors.php?error=414
ErrorDocument 415 /page_errors.php?error=415
ErrorDocument 416 /page_errors.php?error=416
ErrorDocument 417 /page_errors.php?error=417
ErrorDocument 500 /page_errors.php?error=500
ErrorDocument 501 /page_errors.php?error=501
ErrorDocument 502 /page_errors.php?error=502
ErrorDocument 503 /page_errors.php?error=503
ErrorDocument 504 /page_errors.php?error=504
ErrorDocument 505 /page_errors.php?error=505

Re: OSPanel + SSL + .htaccess (редирект с www на без www)

Добавлено: 03 окт 2023, 04:53
wowa
код я написал правильно.

на предыдущем хостинге работал код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.vveb.ws$ [NC]
RewriteRule ^(.*)$ http://vveb.ws/$1 [R=301,L]

вот ещё такой же код:

https://journal.topvisor.com/ru/seo-kit ... irect-www/#
В модуле IfModule пропишите следующие строки:
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
https://web-optimizator.com/301-redirekt-htaccess/
2. 301 редирект с www на без www (главное зеркало – домен без www)
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301] 

https://eternalhost.net/blog/sozdanie-s ... t-htaccess
Финальный вид файла .htaccess
Пример файла htaccess, после добавления в него редиректов.
Options -Indexes
ErrorDocument 404 /404.php
php_flag register_globals off
php_value pcre.recursion_limit 1000
#Условия 301 редиректа
<IfModule mod_rewrite.c>
RewriteEngine On
# склейка зеркал
RewriteCond %{HTTP_HOST} ^my_site\.ru
RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^my_site\.ru
RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.my_site\.ru
RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.my_site.ru$ [NC]
RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.my_site\.ru
RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]
# без слеша
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
</IfModule>
php_value default_charset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml
т. е. без алиасов никак!