Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 28.01.2018, 19:47   #1
Артем55
Новичок
 
Регистрация: 28.01.2018
Сообщений: 4
Репутация: 10
По умолчанию Кириллические URLы не редиректятся с www

Добрый всем день! Помогите плз. Решил перевести сайт с URLов на транслите в URLы кириллические. И все бы ничего, да вот редирект с www на БЕЗ www не работает...

Сам основной домен https://site.ru редиректится без проблем, а вот https://site.ru/зеленое-яблоко не хочет.

Тоесть когда я забиваю https://www.site.ru/зеленое-яблоко то URL прописывается правильно и www убирается из адреса, но выдается ошибка 404. Если после получения этой ошибки НИЧЕГО не меняя просто нажать enter на строке запроса (URL) то открывается нужная страница с тем же URLом но без www и все работает. Если вернуть транслит, например https://site.ru/zelenoe-yabloko то редирект работате без проблем.

Помогите плз решить эту проблему.
Артем55 вне форума   Ответить с цитированием
Старый 28.01.2018, 21:55   #2
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,245
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

опять гадать?
хоть бы содержимое файла /httaccess показали
ADSoft вне форума   Ответить с цитированием
Старый 29.01.2018, 20:12   #3
Артем55
Новичок
 
Регистрация: 28.01.2018
Сообщений: 4
Репутация: 10
По умолчанию

вот htaccess и на транслите он работает без проблем.

AddDefaultCharset utf-8

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

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*) https://site.ru/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
RewriteRule .* ./index.php [L,QSA]

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ https://vesta-family.ru/$1 [R=301,L]


А для наглядности дам ссылку на сайт свой (если нельзя то пусть модератор удалит). Если в урл добавить www то будет 404 ошибка, но если потом на этом же урле нажать enter, то работает как надо. Я учусь всем этим html css и php отсилы 4 месяца по 3 часа после работы, так что прошу сильно не пинать меня) https://vesta-family.ru/скидки-на-верхнюю-одежду/

Последний раз редактировалось Артем55; 29.01.2018 в 20:15.
Артем55 вне форума   Ответить с цитированием
Старый 29.01.2018, 22:27   #4
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,245
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

а откуда сиё чудо то?

че за бред то ? RewriteRule ^(.*) https://site.ru/$1 [L,R=301]
это вобще походу кусок из примера .... он же реально пытается на реальный site.ru отправить

....вы вообще что через httaccess хотите? все www а не_www перенаправить, и еще все запросы на https ? у и до кучи в единую точку входа? index.php ???
ADSoft вне форума   Ответить с цитированием
Старый 29.01.2018, 22:29   #5
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,245
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

Цитата:
но если потом на этом же урле нажать enter, то работает как надо.
а вы наверное не замечаете что там урл то становится уже без www???? потому и работает
ADSoft вне форума   Ответить с цитированием
Старый 29.01.2018, 22:37   #6
Артем55
Новичок
 
Регистрация: 28.01.2018
Сообщений: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а вы наверное не замечаете что там урл то становится уже без www???? потому и работает
Замечаю конечно, поэтому и не могу понять как так то? www убирается, а ошибка выдается.


че за бред то ? RewriteRule ^(.*) https://site.ru/$1 [L,R=301]
это вобще походу кусок из примера .... он же реально пытается на реальный site.ru отправить/



Цитата:
Сообщение от ADSoft Посмотреть сообщение
....вы вообще что через httaccess хотите? все www а не_www перенаправить, и еще все запросы на https ? у и до кучи в единую точку входа? index.php ???
Признаться я не очень понимаю что там написано... Я в htaccess добавлял различные строки и для перенаправления на https и обработки со слешем и без и много там еще чего. Конечно я не сам этот код писал. Взял в интернете и вставил. Кое что подредактировал, но особо не понимая что к чему. Но ведь с URLами на транслите работало все.

И так на всякий случай, мало ли. site.ru это я специально поменял для примера. В настоящем файле конечно правильный домен. Уверен , что вы это тоже понимаете и говорите о бреде именно в самой строке, а не домене.

Последний раз редактировалось Артем55; 29.01.2018 в 22:47.
Артем55 вне форума   Ответить с цитированием
Старый 29.01.2018, 23:04   #7
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,245
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

Цитата:
В настоящем файле конечно правильный домен. Уверен , что вы это тоже понимаете и говорите о бреде именно в самой строке, а не домене.
ДА ОТКУДА? я что Ванга...?
что вы у части строк зачем то так сделали, а у другой - оставили реальное имя? я вижу бред и говорю что бред
ADSoft вне форума   Ответить с цитированием
Старый 29.01.2018, 23:07   #8
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,245
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

я бы посоветовал убрать все кроме указания кодировки и сделать такое
Код:

DirectoryIndex index.php
RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Options +FollowSymlinks
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,QSA]

ADSoft вне форума   Ответить с цитированием
Старый 30.01.2018, 00:32   #9
Артем55
Новичок
 
Регистрация: 28.01.2018
Сообщений: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
ДА ОТКУДА? я что Ванга...?
что вы у части строк зачем то так сделали, а у другой - оставили реальное имя? я вижу бред и говорю что бред
Действительно. Моя ошибка. Не все поменял и ввел в заблуждение. Ваш код я поставил. На первый взгляд все работает, но не так как надо (www подставляется само, а домен главный без www задумывался.) и ошибка 404 не пропала на некоторых страницах. Кэш почистил. Сейчас нет времени "тыкать" внимательно и искать варианты с Вашим кодом. Завтра вечером после работы попробую и отпишусь. СПАСИБО огромное за помощь!

Последний раз редактировалось Артем55; 30.01.2018 в 01:07.
Артем55 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кириллические символы в идентификаторах avd Общие вопросы Delphi 10 16.10.2013 19:31
WWW-Authenticate Lem0nti Работа с сетью в Delphi 3 25.07.2012 13:09
Проблема с электронной книгой Archos. Не получается внедрить кириллические шрифты в EPUB anutkyns Помощь студентам 0 09.07.2011 18:52


01:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru