При добавлении <base href="[[++site_url]]"/>, не работают стили.
Добрый день столкнулся с проблемой, с которой раньше сталкивался, но сейчас почему-то не могу найти решение, поэтому решил так попробовать найти решение.
В общем начал я только что развёртывать сайт, настроил редирект с http на https, всё хорошо, начал указывать пути в head, для стилей и т.п. Но вот не задача, при добавлении />, и указании тега [[++site_url]], в ссылке на файл, у меня перестают подгружаться стили и всё остальное.
То есть есть код:
Если я в коде везде убираю
Помогите, пожалуйста, решить данный недуг, пожалуйста.
MODX REVO версии 3.0.5
Редирект с http на https:
В общем начал я только что развёртывать сайт, настроил редирект с http на https, всё хорошо, начал указывать пути в head, для стилей и т.п. Но вот не задача, при добавлении />, и указании тега [[++site_url]], в ссылке на файл, у меня перестают подгружаться стили и всё остальное.
<head>
<base href="[[!++site_url]]"/>
<title id="page-title"></title>
<link rel="stylesheet" type="text/css" id="theme-style" href="[[!++site_url]]assets/css/main-style.css">
<link rel="icon" href="[[!++site_url]]assets/img/logo.ico" type="image/x-icon" sizes="64x64">
<meta name="description" content="Учебник по JavaScript.">
<meta charset="UTF-8">
<script src="[[!++site_url]]assets/js/theme-toggle.js"></script>
<script src="[[!++site_url]]assets/js/animated-title.js"></script>
</head>
И выводится просто страница с html разметкой, без стилей без всего. Через F12 посмотрел путь пишется такой<link rel="stylesheet" type="text/css" id="theme-style" href="http://js-learningzone.ru/assets/css/main-style.css">
И стили не подгружаются, но стоит добавить в путь вместо http -> https, то стиль подгружается.Если я в коде везде убираю
<base href="[[!++site_url]]"/>
т.е.:<head>
<title id="page-title"></title>
<link rel="stylesheet" type="text/css" id="theme-style" href="assets/css/main-style.css">
<link rel="icon" href="assets/img/logo.ico" type="image/x-icon" sizes="64x64">
<meta name="description" content="Учебник по JavaScript.">
<meta charset="UTF-8">
<script src="assets/js/theme-toggle.js"></script>
<script src="assets/js/animated-title.js"></script>
</head>
то всё работает, потому что пути становятся такими:<link rel="stylesheet" type="text/css" id="theme-style" href="assets/css/main-style.css">
Но если я сделаю такой код:<head>
<base href="[[!++site_url]]"/>
<title id="page-title"></title>
<link rel="stylesheet" type="text/css" id="theme-style" href="assets/css/main-style.css">
<link rel="icon" href="assets/img/logo.ico" type="image/x-icon" sizes="64x64">
<meta name="description" content="Учебник по JavaScript.">
<meta charset="UTF-8">
<script src="assets/js/theme-toggle.js"></script>
<script src="assets/js/animated-title.js"></script>
</head>
То стили попрежнему слетают, хотя путь всё ещё:<link rel="stylesheet" type="text/css" id="theme-style" href="assets/css/main-style.css">
.Помогите, пожалуйста, решить данный недуг, пожалуйста.
MODX REVO версии 3.0.5
Редирект с http на https:
# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
RewriteEngine On
RewriteBase /
# ЭТО ДОБАВИЛ ДЛЯ РАБОТА РЕДИРЕКТА С WWW и HTTP на HTTPS
RewriteCond %{HTTP_HOST} !^js-learningzone\.ru$ [NC]
RewriteCond %{REQUEST_URI} ^/manager [NC]
RewriteRule ^(.*)$ https://js-learningzone.ru/$1 [R=301,L]
# Prevent rewrite the .well-known directory used by LetsEncrypt by rules below of this rule
RewriteRule "^\.well-known/" - [L]
# Prevent dot directories (hidden directories like .git) to be exposed to the public
# Except for the .well-known directory used by LetsEncrypt a.o
RewriteRule "/\.|^\.(?!well-known/)" - [F]
# Rewrite www.example.com -> example.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
#RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
#
# or for the opposite example.com -> www.example.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} !^$
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteCond %{HTTP_HOST} (.+)$
#RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L] .
# Force rewrite to https for every host
#RewriteCond %{HTTPS} !=on [OR]
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect the manager to a specific domain - don't rename the ht.access file
# in the manager folder to use this this rule
#RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
#RewriteCond %{REQUEST_URI} ^/manager [NC]
#RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5
link_tag_scheme поставил 1, и другие все ставил не работает.Комментарии: 6
Системная настройка
server_protocol
исправлена на https?
В версии 3.0.5 её просто нет
Действительно, оказывается удалили, не пользовался еще тройкой. Но справедливости ради server_protocol и во второй версии не понятно как работал в спайке с link_tag_scheme и работала ли вообще, но иногда выставление на https чудесным образом помогало.
Раз site_url выдает сайт по http, возможно эта настройка явно прописана в настройках или в контексте указана. link_tag_scheme на https выставлен?
Раз site_url выдает сайт по http, возможно эта настройка явно прописана в настройках или в контексте указана. link_tag_scheme на https выставлен?
В общем я сейчас перенёс всё на версию 2.8.7, таб была настройка server_protocol, её я исправил на https, но это не помогло, сайт всё ещё при https, не хочет подгружать стили и js, но если сайт на http, то всё загружается.
Вот ссылки на сайт, для наглядности:
без SSL — HTTP: href=«http://js-learningzone.ru/
с SSL — HTTPS: https://js-learningzone.ru/
Вот ссылки на сайт, для наглядности:
без SSL — HTTP: href=«http://js-learningzone.ru/
с SSL — HTTPS: https://js-learningzone.ru/
Надо искать причину по которой в site_url всегда сайт по http, несмотря на работу сервера по https. link_tag_scheme на https выставлен в системных настройках?
Решил, зашёл в контексты, web, и там создал новый контекст site_url, и там внутри добавил значение своего сайта на https.
Имя и ключ: site_url
Значение: js-learningzone.ru/
Имя и ключ: site_url
Значение: js-learningzone.ru/
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.