в канонических урлах и в карте сайта появился порт :80
| Grey |
|
|---|---|
|
Привет, появилась проблема после установки ssl на сайт... в канонических урлах и в карте сайта появился порт :80 , при восстановлении пароля также добавляется в ссылку и ведет как результат на пустую страницу.... ps строки в system/common.php соответствуют 65 $sys['port'] = $_SERVER['SERVER_PORT']; 70 $sys['port'] =$url['port']; |
| Macik |
|
|---|---|
|
Версия какая? Что приписано в `$cfg['mainurl']`? Каково значение `$cfg['multihost']`? https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Grey |
|
|---|---|
|
$cfg['multihost'] = FALSE; а mainurl c https Added 4 minutes later: временно решил вопрос так заменнил $sys['abs_url'] = $sys['scheme'] . '://' . $sys['host'] . ($sys['port']?':'.$sys['port']:'') . $sys['site_uri']; на $sys['abs_url'] = $sys['scheme'] . '://' . $sys['host'] . $sys['site_uri'];
зы версия freelance 2.6.9 |
| Macik |
|
|---|---|
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Kailo |
|
|---|---|
|
Можно привести общие настройки для перевода сайта на https? Сертификат поставили, но при наборе https://сайт.ру виден только текст, картинки и css не отображаются. Что должно быть в `$cfg['mainurl']` - протокол, сайт и порт обязательно? Какие параметры в htaccess, common.php? Почему sitemap.xml выдает такое: <url><loc>https://сайт.ru:80/</loc><changefreq>weekly</changefreq></url>
|
| Macik |
|
|---|---|
|
В `$cfg['mainurl']`прописать сайт с «https» (т.е. указание протокола обязательно. Порт если стандартный 443 можно не указывать). По .htaccess надо настроить редирект с простого на SSL — вот тут товарищ постил свои настройки на эту тему. По последнему вопросу — не понял. Добавлено 3 минуты спустя: зы: Если надо, чтобы сайт корректно работал на обоих протоколах → в config.php включаем режим multihost (инфо): $cfg['multihost'] = TRUE;
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Kailo |
|
|---|---|
|
Сделал. Однако: "При соединении с сайт.ru:80 произошла ошибка. SSL получило запись, длина которой превышает максимально допустимую. Код ошибки: SSL_ERROR_RX_RECORD_TOO_LONG". Это при нажатии ссылки на страницу сайта с главной "https", в которой нет картинок и css. Почему на 80 порт ведет? Кеширование отключено полностью. Хостеры говорят, что у них с такими, что есть, настройками сервера все сайты с сертификатами работают нормально.
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.cайт\.ru$ [NC]
RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301,L]
# Prevent to load sensible data
<FilesMatch "\.(dat|tpl|inc)$">
order deny,allow
deny from all
</FilesMatch>
# Sitemap shortcut
RewriteRule ^sitemap\.xml$ index.php?r=sitemap [L]
# Admin area and message are special scripts
RewriteRule ^admin/([a-z0-9]+) admin.php?m=$1 [QSA,NC,NE,L]
RewriteRule ^(admin|login|message)(/|\?|$) $1.php [QSA,NC,NE,L]
# System category has priority over /system folder
RewriteRule ^system/?$ index.php?rwr=system [QSA,NC,NE,L]
# All the rest goes through standard rewrite gateway
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]+) index.php?rwr=$1 [QSA,NC,NE,L]
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
Что-то, чую, здесь надо изменить. Хотя к https здесь ничего не относится. Добавлено 6 минут спустя: По той ветке - htaccess - делал и как в шапке, и в последнем посте - все равно то же самое Добавлено 2 часа спустя: Правильный редирект на https всех страниц нашел:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
вместо первых пяти строчек, но теперь все равно ни картинок, ни разметки CSS нет.... и SSL_ERROR_RX_RECORD_TOO_LONG тоже осталась. Добавлено 17 часов спустя:
Как порт 80 из ссылок убрать, кто-нибудь сообщит? Баг-то CMS, а не хостера. Релиз последний, common.php исправлен. Добавлено 12 минут спустя: #41614 Grey: Заработало - файл common.php, строки 78-79. Наверное, не временно нужно это сделать, а постоянно. Из сайтмапа порт тоже пропал. Відредаговано: Kailo (27.10.2016 18:56, 9 років тому) |
| Roffun |
|
|---|---|
#42247 Kailo: Заработало - файл common.php, строки 78-79. Так вам и ответили выше, насчет настроек. Файл .htaccess я в этом посте описал готовый вариант, в том числе удаление дублей - www , index(php|html|htm). А насчет порта 80, вам тоже ответили выше: #41615 Macik: А насчет: #42247 Kailo: Оно и так сделано "постоянно" в актуальном дистрибутиве, просто вы используете стороннюю разработку, обновление которой никак не связано с официальной сборкой, к тому же устаревшую версию 2.6.9 , а судя по информации на сайте разработчика биржи, последняя версия 2.7.1. (автор заявлял ранее что больше не поддерживает ее). Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Відредаговано: Roffun (16.01.2020 15:43, 5 років тому) |
| Kailo |
|
|---|---|
|
Вы разберитесь сначала с сабжем, потом пишите. Настройки, указанные выше, я поменял, сайт все равно отображался неправильно. Заявка 1474 меняет строки 65 и 70, а Grey поменял 78-79. Причина (баг CMS) именно в них. Далее, откуда Вы взяли, что я использую? Я использую последнюю версию Котонти 0.9.19, скачанную с этого сайта, и у меня нет никаких бирж. И код в строках 78-79 в этой официальной версии как раз такой, что привеп Grey. Ваши директивы в .htaccess у меня не работают, тем более они не совместимы с теми, что использует urleditor. Водку в моем городе паленую давно уже в магазинах не продают; если в вашей стране с черным флагом это еще так, то это Ваши проблемы. Рабочий .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Prevent to load sensible data
<FilesMatch "\.(dat|tpl|inc)$">
order deny,allow
deny from all
</FilesMatch>
# Sitemap shortcut
RewriteRule ^sitemap\.xml$ index.php?r=sitemap [L]
# Admin area and message are special scripts
RewriteRule ^admin/([a-z0-9]+) admin.php?m=$1 [QSA,NC,NE,L]
RewriteRule ^(admin|login|message)(/|\?|$) $1.php [QSA,NC,NE,L]
# System category has priority over /system folder
RewriteRule ^system/?$ index.php?rwr=system [QSA,NC,NE,L]
# All the rest goes through standard rewrite gateway
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]+) index.php?rwr=$1 [QSA,NC,NE,L]
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
Відредаговано: Kailo (27.10.2016 19:03, 9 років тому) |
| Roffun |
|
|---|---|
#42251 Kailo: ? #42247 Kailo: p.s. Процитированное другим пользователем не меняется, если вы затираете свой пост. #42251 Kailo: Поосторожнее со словами, Kailo
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
| Denisbox |
|
|---|---|
|
Kailo А не клон ли вы krickx - а, очень на то похоже по вашим поведенческим факторам? contact: fonts (at) otlab . ru
|
| Macik |
|
|---|---|
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Kailo |
|
|---|---|
|
Так я со всей душой, не только с уважением. Вот исправленный код из заявки 1474:
$sys['port'] = $_SERVER['SERVER_PORT'];
}
}
else
else
{
{
$sys['host'] = $url['host'];
$sys['host'] = $url['host'];
- $sys['port'] = empty($url['port']) || $_SERVER['SERVER_PORT'] == 80 ? '' : $url['port'];
+ $sys['port'] = $url['port'];
}
}
+$def_port = $sys['secure'] ? 443 : 80;
+$sys['port'] = $sys['port'] == $def_port ? '' : $sys['port'];
В версии 0.9.19, что у меня работает, этот код уже присутствует - заявка февральская, релиз июньский. На добавление в ссылки сайта порта 80 этот код не влияет. После изменений в этом же файле строчек 78-79 - $sys['abs_url'] = $sys['scheme'] . '://' . $sys['host'] . ($sys['port']?':'.$sys['port']:'') . $sys['site_uri']; $sys['canonical_url'] = $sys['scheme'] . '://' . $sys['host'] . ($sys['port']?':'.$sys['port']:'') . cot_url_sanitize($_SERVER['REQUEST_URI']); на $sys['abs_url'] = $sys['scheme'] . '://' . $sys['host'] . $sys['site_uri']; $sys['canonical_url'] = $sys['scheme'] . '://' . $sys['host'] . cot_url_sanitize($_SERVER['REQUEST_URI']); что сделали Grey и я - баг пропал, т.е. сайт стал работать нормально. Версия freelance 2.6.9 - это у него, а не у меня. Какое еще уважение нужно? Клон - это как? krickx - это кто? Я здесь недавно, и вообще филолог, так что не обессудьте.
|
| Macik |
|
|---|---|
#42259 Kailo: То, что сделали вы — это заглушили ошибку, причем очень локально. О чем свидетельствует та же проблема с sitemap. Проблема здесь скорее всего в том, что у провейдера настроен обратный прокси и на сервере не прописаны «обычные» для таких случаев заголовки. Поэтому система не может полноценно определить режим работы (т.е. получить информацию о протоколе и прочих параметрах оригинального запроса) — отсюда и нестыковки. Для более подробного анализа — пришлите содержимое переменной $_SERVER с вашего сайта. Проще всего это сделать через вывод прямо на страницу (вставьте код в `index.tpl`) :
<!-- IF {PHP.usr.id} = 1 -->
<pre>{PHP._SERVER|print_r($this,1)}</pre>
<!-- ENDIF -->
Далее зайдите под админом и скопируйте вывод. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Kailo |
|
|---|---|
|
Вроде ничего особенного в заголовках:
[FCGI_ROLE] => RESPONDER
[REDIRECT_HTTPS] => on
[REDIRECT_HANDLER] => php-fastcgi
[REDIRECT_STATUS] => 200
[HTTPS] => on
[HTTP_X_FORWARDED_PROTO] => https
[HTTP_CONNECTION] => close
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip, deflate, br
[HTTP_UPGRADE_INSECURE_REQUESTS] => 1
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache
[REDIRECT_URL] => /index.php
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.0
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /
[SCRIPT_NAME] => /index.php
[ORIG_PATH_INFO] => /index.php
[ORIG_SCRIPT_NAME] => /php-bin/php.fcgi
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1477822709
[argv] => Array
(
)
[argc] => 0
)
проблема с sitemap прекратилась вместе с основной, после операции c кодом Grey. |