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

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

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

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

Сейчас страницы открываются по адресам
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,432
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,749
15.09.2018, 22:47
skarden, 301 на нижний регистр.
1
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2620 / 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 / 2620 / 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
1067 / 569 / 137
Регистрация: 20.02.2016
Сообщений: 3,337
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,432
18.09.2018, 11:42
Цитата Сообщение от Jasta Посмотреть сообщение
Для поисковика это не айс
"Поисковику" все равно, на чем это сделано.

Цитата Сообщение от Jasta Посмотреть сообщение
Зачем Вы вообще решили заняться??? Эти адреса попали в индекс???
Превентивная мера, чтобы потом не бороться с последствиями попадания в индекс и т.п.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2620 / 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
1067 / 569 / 137
Регистрация: 20.02.2016
Сообщений: 3,337
18.09.2018, 12:39
Цитата Сообщение от Phantom-84 Посмотреть сообщение
"Поисковику" все равно, на чем это сделано.
А вот и нет, могу как минимум возникнуть проблемы с передачей ссылочного веса. Так что лучше использовать стандартный и надёжный редирект через htaccess
Цитата Сообщение от Phantom-84 Посмотреть сообщение
с последствиями попадания в индекс и т.п.
А с чего Вы взяли что они вообще там окажутся??? Нагромождение редиректов ухудшает индексацию и увеличивает нагрузку на сервер
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,432
18.09.2018, 12:47
Цитата Сообщение от Jasta Посмотреть сообщение
А вот и нет, могу как минимум возникнуть проблемы с передачей ссылочного веса. Так что лучше использовать стандартный и надёжный редирект через htaccess


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

Добавлено через 4 минуты
Хотя даже не самый эффективный фильтр подобного рода "во фронте" не сильно увеличивает нагрузку. Я, например, часто просто сравниваю $url с strtolower($url) - не самый эффективный способ, но вполне приемлемый.
0
 Аватар для Jasta
1067 / 569 / 137
Регистрация: 20.02.2016
Сообщений: 3,337
20.09.2018, 15:48
Цитата Сообщение от Fedor92 Посмотреть сообщение
Это интересно, а можно пруфы?
Да нет это скорее ИМХО. Дело в том что хоть поисковики и говорят о том что индексируют всё на свете от картинок, до темной материи, но на деле это не совсем так и всегда лучше использовать самый очевидный и простой метод вроде редиректов через htaccess. Но в принципе если ТС проще сделать через PHP, то пусть останется так.
0
Эксперт HTML/CSS
 Аватар для Fedor92
2964 / 2620 / 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 / 2620 / 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
Ответ Создать тему
Новые блоги и статьи
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
Функции высшего порядка в JavaScript
run.dev 09.04.2025
Функции высшего порядка представляют собой один из фундаментальных камней функционального программирования в JavaScript. По сути, это функции, которые либо принимают другие функции в качестве. . .
Flutter: Оптимизация производительности сложных UI
mobDevWorks 09.04.2025
Когда речь идет о сложных интерфейсах, Flutter сталкивается с несколькими фундаментальными проблемами производительности. Одна из них — избыточная перерисовка (repainting), когда даже небольшие. . .
Замыкания в Python
py-thonny 09.04.2025
Что такое замыкание? В простейшем определении, замыкание - это функция, которая запоминает и хранит доступ к переменным из охватывающей её области видимости, даже когда эта функция вызывается за. . .
Реализация Event-Driven архитектуры с RabbitMQ и Kafka в Nest.js
ArchitectMsa 09.04.2025
В монолитных системах сервисы обычно общаются напрямую через HTTP-запросы. Простой подход, удобный для начала разработки — но что происходит, когда система растёт? Синхронное взаимодействие быстро. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер