Перейти к содержимому

Фотография
- - - - -

Неправильно отображается страница (ы)


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 fgtl

fgtl

    Прохожий

    Топикстартер
  • Новичок
  • 0
    3 сообщ.

Отправлено 01 Июнь 2018 в 10:18

Всем привет. Помогите люди добрые)
Если зайти на сайт по ссылке https://www.123city.ru то все отображается нормально.
Если зайти на сайт по такой ссылке https://www.123city.ru/ то все отображается криво. 
Ну и если зайти на любую страницу сайта и добавить этот символ в конце адреса страницы то все будет сикось накось. 
Как исправить.?
Спасибо


  • 0

Спонсор

#2 Volly

Volly

    Увлеченный

  • Участник
  • 110
    562 сообщ.

Отправлено 01 Июнь 2018 в 13:05

Слеш, думаю, ни причём. С ним и без него смотрел разными браузерами - всё одинаково. Попробуйте открыть свой браузер, не открывая сайта почистить кеш, а потом смотреть сайт.


  • 0

#3 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1015
    3 690 сообщ.

Отправлено 01 Июнь 2018 в 13:35

Там проблема в путях.

Стоит почитать про относительные и абсолютные пути.

На сайте используются относительные пути и они используются неверно.

В общем:

1) везде 

src="core/buttons/b379hvgal/7cd85ec5_up.png"

надо заменять на (добавить слэш)

src="/core/buttons/b379hvgal/7cd85ec5_up.png"

2) По хорошему ещё через .htaccess сделать редирект для статических страниц, чтобы уничтожать слэш в конце статических файлов. В гугле спрашиваем "htaccess удалить слэш" и ищем подходящий вариант.


  • 0

#4 fgtl

fgtl

    Прохожий

    Топикстартер
  • Новичок
  • 0
    3 сообщ.

Отправлено 01 Июнь 2018 в 14:13

Спасибо, буду изучать предоставленную инфу


У меня сейчас фаил .htaccess выглядит так

AddDefaultCharset UTF-8

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
мне нужно добавить туда эти строки 
RewriteEngine On

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)

RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
я могу просто дописать их ниже или это так не работает?)

AddDefaultCharset UTF-8

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]


RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

Вопрос решен спасибо


  • 0

#5 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1015
    3 690 сообщ.

Отправлено 01 Июнь 2018 в 14:45

Правильно делать так

AddDefaultCharset UTF-8

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

Дважды объявлять RewriteEngine On не надо.

Остальные правила необходимо выставлять в порядке приоритета/очереди.


  • 0

#6 fgtl

fgtl

    Прохожий

    Топикстартер
  • Новичок
  • 0
    3 сообщ.

Отправлено 02 Июнь 2018 в 11:16

Спасибо


  • 0

#7 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    73 сообщ.

Отправлено 02 Июнь 2018 в 15:15

BaNru, не нужно отдельное условие для слеша, не нужно брать слеш в скобки (если вы таким образом хотели показать его необязательность, то просто после проставьте вопрос или звездочку). Есть риск цикл. редиректа на каталогах, если включен mod_dir (имеет смысл добавить спец. директиву этого модуля для запрета принудительного добавления трэйлинг слешей у каталогов). Лучше совместить двойной редирект.


fgtl, конкретно для главной слеш есть всегда, даже если вы его не видите. На правилах это особо не сказывается, т.к. в контексте .htaccess он не участвует в проверках.


  • 0

#8 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1015
    3 690 сообщ.

Отправлено 02 Июнь 2018 в 16:13

BaNru, не нужно отдельное условие для слеша, не нужно брать слеш в скобки

Я не вдавался в подробности кода, я просто скопировал предоставленный выше fgtl. Так что я тут не причём


  • 0

#9 Volly

Volly

    Увлеченный

  • Участник
  • 110
    562 сообщ.

Отправлено 02 Июнь 2018 в 17:06

А как может влиять слэш в адресе на вид страницы?


  • 0

#10 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1015
    3 690 сообщ.

Отправлено 02 Июнь 2018 в 17:30


А как может влиять слэш в адресе на вид страницы?
src="core/buttons/b379hvgal/7cd85ec5_up.png"

Если example.com/index.html, то браузер знает, что это файл и адрес будет такой

example.com/core/buttons/b379hvgal/7cd85ec5_up.png

Если же стоит слеш example.com/index.html/, то браузер думает, что это директория и адрес будет такой

example.com/index.html/core/buttons/b379hvgal/7cd85ec5_up.png

Это одно и тоже, что в браузере будет example.com/folder/, равно как и если добавить файл example.com/folder/index.php На выходе будет в обоих случаях

example.com/folder/core/buttons/b379hvgal/7cd85ec5_up.png

Такой вид записи означает, что файлы хранятся в этой же директории.

Если добавить у адресов слэш, то это означает от "корня" сайта

src="/core/buttons/b379hvgal/7cd85ec5_up.png"

  • 0

#11 Volly

Volly

    Увлеченный

  • Участник
  • 110
    562 сообщ.

Отправлено 02 Июнь 2018 в 21:44

Непонятно я задал выше вопрос. Поправляюсь.

Топик стартёр дал два примера 123city.ru и 123city.ru/ и утверждает, что страница показывается по разному.

И именно в таком случае мне не понятно как может слеш влиять на отображение страницы.


Сообщение отредактировал Volly: 02 Июнь 2018 в 21:44

  • 0

#12 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1015
    3 690 сообщ.

Отправлено 03 Июнь 2018 в 05:37

123city.ru и 123city.ru/ и утверждает, что страница показывается по разному.

Нормально у него всё было. Видать попутал немного.

Но на других страницах - эта проблема была актуально.


  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей