Форум программистов, компьютерный форум, киберфорум
SEO для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 0
Регистрация: 19.11.2010
Сообщений: 148

Регистр урла, делать ли переадресацию

15.09.2018, 00:20. Показов 2353. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста нужно ли фиксировать регистр урла, делать ли переадресацию?

Сейчас страницы открываются по адресам
mysite.ru/page
mysite.ru/Page
mysite.ru/PAge
mysite.ru/PaGe

в общем любые комбинации. Стоит ли лезть в htaccess?

Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.09.2018, 00:20
Ответы с готовыми решениями:

Перехват урла и вывод шаблона в зависимости от урла
Добрый день. ни ка не могу понять почему не хочет работать вывод шаблона. запихиваю все это в search_form_tpl. Далее вывожу...

Решил сделать локальный TCP прокси-сервер. Как делать переадресацию?
Решил сделать для себя простой локальный прокси-сервер на ТСР-сокетах. По ТСР-части вопросов нет, она более-менее работает. HTTP-запросы от...

Регистр сведений «Списанные материалы из эксплуатации». Почему регистр сведений, а не регистр накопления?
Существует Регистр сведений «Списанные материалы из эксплуатации». Регистр сведений предназначен для отражения данных, необходимых при...

29
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
15.09.2018, 22:32
Подобная корректировка лишней не будет. Только делается она программно. Хотя, чтобы избавиться от необходимости делать сравнения с предопределенными "адресами", можно условиться использовать только нижний регистр и выполнять "понижение регистра", если это условие не выполняется. Правда, и этот простой фильтр я обычно делаю программно.
1
3 / 3 / 0
Регистрация: 19.11.2010
Сообщений: 148
15.09.2018, 22:47  [ТС]
Спасибо. Не понял, при запросе на адрес mysite.com/PaGe должна быть переадресация на 404 или на mysite.com/page?
0
1030 / 682 / 297
Регистрация: 04.04.2013
Сообщений: 2,751
15.09.2018, 22:47
skarden, 301 на нижний регистр.
1
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
16.09.2018, 14:31
Bash
1
2
3
4
5
RewriteMap lc int:tolower
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
или

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
RewriteEngine On
RewriteBase /
 
# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
 
# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A-Z] - [S=28]
 
# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
 
# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteRule [A-Z] - [N]
 
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]
1
3 / 3 / 0
Регистрация: 19.11.2010
Сообщений: 148
16.09.2018, 15:16  [ТС]
Fedor92, спасибо. Этот способ без доступа в httpd.conf работает?
У меня почемуто не работает, а еще вдобавок SSL слетает.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
16.09.2018, 15:40
skarden, всё это добавляется в .htaccess... SSL не должен никак реагировать по идее... Для второго варианта должен быть включен mod-rewrite
0
3 / 3 / 0
Регистрация: 19.11.2010
Сообщений: 148
16.09.2018, 16:15  [ТС]
Чет не работает. Забил и сделал на php
PHP
1
2
3
4
5
6
7
8
$str =$_SERVER['REQUEST_URI'];
 
if(preg_match('/[A-Z]/', $str)!==0){
    $new_url = strtolower($str);
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location:"."https://".$_SERVER['HTTP_HOST'].$new_url);
    
};
0
 Аватар для Jasta
1515 / 572 / 137
Регистрация: 20.02.2016
Сообщений: 3,377
18.09.2018, 07:38
Цитата Сообщение от Fedor92 Посмотреть сообщение
SSL не должен никак реагировать по идее...
Ну разве что ещё нужен редирект с http на https
Цитата Сообщение от skarden Посмотреть сообщение
Забил и сделал на php
Для поисковика это не айс
Цитата Сообщение от skarden Посмотреть сообщение
Сейчас страницы открываются по адресам
mysite.ru/page
mysite.ru/Page
mysite.ru/PAge
mysite.ru/PaGe
Зачем Вы вообще решили заняться??? Эти адреса попали в индекс??? Их нет генерит движок???
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 11:42
Цитата Сообщение от Jasta Посмотреть сообщение
Для поисковика это не айс
"Поисковику" все равно, на чем это сделано.

Цитата Сообщение от Jasta Посмотреть сообщение
Зачем Вы вообще решили заняться??? Эти адреса попали в индекс???
Превентивная мера, чтобы потом не бороться с последствиями попадания в индекс и т.п.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
18.09.2018, 11:57
Цитата Сообщение от Phantom-84 Посмотреть сообщение
"Поисковику" все равно, на чем это сделано.
Поддерживаю...
0
3 / 3 / 0
Регистрация: 19.11.2010
Сообщений: 148
18.09.2018, 12:25  [ТС]
Phantom 84, я решил этим заняться после того как увидел в вебмастере яндекс зеркала в виде таких страниц. Откуда он их взял я не знаю, у меня все ссылки генерятся в нижнем регистре. Может кто-то пытался написать урл и написал с большой буквы, а счётчик на это отреагировал.

По вопросу, как делать переадресацию, я думаю без разницы каким образом клиент получает 301 и новый урл. Как вообще клиент может различить php и shell? Думаю поисковику всё равно.
0
 Аватар для Jasta
1515 / 572 / 137
Регистрация: 20.02.2016
Сообщений: 3,377
18.09.2018, 12:39
Цитата Сообщение от Phantom-84 Посмотреть сообщение
"Поисковику" все равно, на чем это сделано.
А вот и нет, могу как минимум возникнуть проблемы с передачей ссылочного веса. Так что лучше использовать стандартный и надёжный редирект через htaccess
Цитата Сообщение от Phantom-84 Посмотреть сообщение
с последствиями попадания в индекс и т.п.
А с чего Вы взяли что они вообще там окажутся??? Нагромождение редиректов ухудшает индексацию и увеличивает нагрузку на сервер
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 12:47
Цитата Сообщение от Jasta Посмотреть сообщение
А вот и нет, могу как минимум возникнуть проблемы с передачей ссылочного веса. Так что лучше использовать стандартный и надёжный редирект через htaccess


Цитата Сообщение от Jasta Посмотреть сообщение
А с чего Вы взяли что они вообще там окажутся??? Нагромождение редиректов ухудшает индексацию и увеличивает нагрузку на сервер
"Поисковики" бывают разные. Не будут "всплывать" неканонические ссылки, не будет и нагромождения.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
18.09.2018, 12:52
Цитата Сообщение от Jasta Посмотреть сообщение
А вот и нет, могу как минимум возникнуть проблемы с передачей ссылочного веса. Так что лучше использовать стандартный и надёжный редирект через htaccess
Это интересно, а можно пруфы?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 13:07
К предыдущему сообщению. Для уменьшения нагрузки можно "загнать" фильтр "глубже в код" и для числовых фрагментов адреса не выполнять никаких сравнений и т.п.

Добавлено через 4 минуты
Хотя даже не самый эффективный фильтр подобного рода "во фронте" не сильно увеличивает нагрузку. Я, например, часто просто сравниваю $url с strtolower($url) - не самый эффективный способ, но вполне приемлемый.
0
 Аватар для Jasta
1515 / 572 / 137
Регистрация: 20.02.2016
Сообщений: 3,377
20.09.2018, 15:48
Цитата Сообщение от Fedor92 Посмотреть сообщение
Это интересно, а можно пруфы?
Да нет это скорее ИМХО. Дело в том что хоть поисковики и говорят о том что индексируют всё на свете от картинок, до темной материи, но на деле это не совсем так и всегда лучше использовать самый очевидный и простой метод вроде редиректов через htaccess. Но в принципе если ТС проще сделать через PHP, то пусть останется так.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
20.09.2018, 16:03
Цитата Сообщение от Jasta Посмотреть сообщение
Да нет это скорее ИМХО
В данном случае и htaccess и скрипт на php выполняют одну и туже функцию... Только через htaccess перадресация выполняется напрямую, а php должен ещё запрос принять и обработать... Во втором случае незначительно увеличится ответ сервера, но переадресация скриптом гибче и не требует указания конкретных url...
1
 Аватар для Radione
40 / 39 / 6
Регистрация: 05.10.2016
Сообщений: 131
23.09.2018, 20:55
Fedor92,
Это интересно, а можно пруфы?
Такого достаточно?
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2621 / 1068
Регистрация: 15.12.2012
Сообщений: 10,091
Записей в блоге: 11
23.09.2018, 21:10
Цитата Сообщение от Radione Посмотреть сообщение
Такого достаточно?
Как это связано с сутью моего вопроса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.09.2018, 21:10
Помогаю со студенческими работами здесь

Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них
Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них.

Поместить в регистр BX константу 100 (16). Старший байт BX переместить в регистр BL
здраствуйте помогите пож-та разобраться в задаче!написал прогу но не работает! Поместить в регистр BX константу 100(16) . Старший байт BX...

Занести в регистр AX значение регистра CS, а в регистр BL записать заданное число
Здравствуйте, у меня такая проблема: Нужно составить программу, которая заносит в регистр AX значение Регистра CS, а в регистр BL...

(MCS-51) Внести в регистр А двоично-десятичное число XX, в регистр R5 — XX
Внести в регистр А двоично-десятичное число XX, в регистр R5 - XX, попеременно отображать эти числа на первом и втором знакоместе...

Маска для урла
Здравствуйте! Есть вот такой вот код if (option === '1') location.href = '/uslugi/astrahan/'; else if (option === '2')...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru