wmmail.ru – cервис почтовых рассылок на главную
написать письмо
карта сайта

С чего начать?РекламодательПравилаFAQСтатистикаБиржа статейTOP100ЧатФоткиКонтакты
Логин:
Пароль: 
Регистрация   Забыли пароль?
WMLogin
Пользователей всего:

445076

Пользователей сегодня:

651

Пользователей online:

1526

Выплачено ($): 6`404`321,40
Выплат: 7`006`267
Писем прочитано: 958`620`970
Новые вопросы

Задать свой вопрос

 
 
Online 3
Все ответы
 
 

Вопрос #74604

Внимание! В разделе вопрос-ответ запрещается:

  • Мат, оскорбления, флуд, реклама
  • Сообщения, не являющиеся вопросами/ответами
  • Нарушение законодательства РФ
  • Попрошайничество в любой форме

Выделите текст и нажмите для цитирования  #  
+6   [11.06.2017 21:05] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674

Закрытый вопрос от пользователя Ass238 Вордпресс: не полный урл и 404 ошибка. Пути решения.

Как реализовать на вордпресс средствами самого кода, ну возможно и дополнением, дописывание ошибочных урлов сайта что бы не было 404 ошибки и открывалась нужная страница?
Возможно ли такое?

Для большей наглядности вопроса приведу пример:
Например есть сайт: site.ru
Есть например страница сайта: site.ru/o programmah

Если например пользователь скопировал неполную ссылку: site.ru/o programm, то по логике будет страница отдавать 404 ошибку. Как этого избежать и что бы при этом открылась нужная страница пользователю, то есть страница: site.ru/o programmah

Всем заранее спасибо.
Знаю, подскажу
5
Не знаю, не подскажу
16
Изложу подробно в комментарии к вопросу.
2
Раздел: Программирование, проголосовало: 23, последний комментарий: 16.06.2017 22:56
Вопрос закрыт автором
Проголосовали: Al-Yena, snick23rus, DIRECTORMIITA, Sergey163RUS, andrey382, Topglory

Ответы
Ответов всего: 17  вопрос закрыт 
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 21:19] vallo Рейтинг 6928.10     Стена пользователя vallo +314  Все ответы пользователя vallo

http://www.wmmail.ru/index.php?cf=wall-viewuser&uid=776416

Могу его посоветовать, может поможет!
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
0   [11.06.2017 21:23] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

vallo пишет Могу его посоветовать, может поможет!

Да не, мне самому интересно поковыряться.
Может я что то упустил и есть скажем плагин какой то для такого, а может кто то сталкивался с такой задачей и ее решал средствами кода и есть решение. Хотя лучше бы конечно средствами кода.

А если он отпишется и что то посоветует будет хорошо и полезно для многих.
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 22:32] snick23rus Рейтинг 4.85     Стена пользователя snick23rus +101  Все ответы пользователя snick23rus

привет
мне не известно каким способом можно отправить на нужную страницу если урл прописан не полностью.

но известно, что страница 404 должна быть рабочей, а не просто кодом
наличие рабочей страницы ошибки 404, положительно влияет на ранжировании сайта

Добавлено спустя 05 минут 55 секунд
ну к примеру можно попробовать добавить на страницу 404 поиск по сайту с результатом по неправильному урлу
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
+3   [11.06.2017 22:39] Revos Рейтинг 71.12     Стена пользователя Revos +5  Все ответы пользователя Revos

Насколько я помню, в вордпресс уже давно есть такая возможность — redirect canonical.
Если она не подходит, есть куча плагинов: nm404, Ultimate Redirect и т.п.
Проголосовали: snick23rus, Ass238, OLGA1902
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 22:42] snick23rus Рейтинг 4.85     Стена пользователя snick23rus +101  Все ответы пользователя snick23rus

Revos пишет nm404

:thumbsup:
Если запрос будет в конечном итоге к ошибке 404, этот плагин перенаправляет запрос на ближайший аналогичный орфографической URL в вашем блоге.
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 22:54] sportclub2010 Рейтинг 2713.87     Стена пользователя sportclub2010 +228  Все ответы пользователя sportclub2010

Я к сожалению не знаком с вордпресс, не приходилось.
Но вот как я вижу с точки зрения JavaScript или php.

Пример сайт http: //www.wmmail.ru/index.php? - назовём это основная страница.
http: //www.wmmail.ru/index.php?cf=otvet-viewvopros&type=&vid=74604 - это страница вопрос-ответ.
Если её обрезать скажем так http: //www.wmmail.ru/index.php?cf=otvet то мы по любом попадём на основную страницу. Ошибка невыскочет. Этот сайт на php и разбирать его не будем. А вот на JavaScript это будет так:

http: // домен сайта разделительный знак ? а после него разные страницы:
http: //mysite?страница1
http: //mysite?страница2

Пользователь вставляет урл http: //mysite?страница1 или http: //mysite?страница2
и попадает на основную страницу с кодом JavaScript.
JavaScript извлекает с урла всё то что после знака ? и перебрасывает посетителя на - страница1 или страница2.

Если урл после разделительного знака ? будет не полным, то JavaScript будет решать что делать дальше. В простом случае посетитель останется на основной странице. Но ошибка всё равно невыскочет.

Код приблизительно такой:
var url = document.location.href
var arr = url.split('?')
arr[0] - это всё до знака ?
arr[1] - это всё после знака ?
Дальше очень приблизительный код просто чтобы было понятно:
document.location.href = document.location.href+arr[0]+'?'+arr[1] - переход на страницу http: //mysite?страница1 или страница2

Ну как то так. Правда я так делать не пробовал, только теоретически. На самом деле тут нужно думать...
Как реализовать:
http: //mysite?страница1
http: //mysite?страница2
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
0   [11.06.2017 23:00] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

snick23rus пишет но известно, что страница 404 должна быть рабочей, а не просто кодом
наличие рабочей страницы ошибки 404, положительно влияет на ранжировании сайта

Так это понятно что 404 страица должна быть рабочей и ее дизайн дело веб мастера. Можно предложить перейти на 2главную", предложить поиск, предложить посмотреть какие то актуальные новости на сайте - это все понятно.
И это нормально когда страницы вообще такой нет на сайте.

Речь именно о том что страница есть, но юзер скажем не докопировал урл, в итоге он попадет на страницу 404, но ему не интересно читать не то что ему надо или же что то искать что надо.
Нужно что бы при не дописаном урле при переходе по нему он дописывался, разумеется если страница есть, если вообще похожего урла нет, то разумеется 404.
Когда то года 2 - 3 назад я такое реализовывал на другой CMS. Но у вордпресс свои особенности. Полагаю что реализовать можно.
Потому вот и спросил, может кто какую наводку даст или скажем так похожее решение. А допилить уже можно.

Добавлено спустя 04 минуты 27 секунд
Revos пишет redirect canonical

Название canonical как мне кажется говорит о том что речь скорее о дубле. Страница по двум и более адресам.
Но это не много не то совсем. Это другая плоскость проблемы.

Revos пишет nm404, Ultimate Redirect и т.п.

Посмотрю что за они. Разумеется корень решения вопроса в редиректе, но не только.
Поскольку сама по себе 404 нужна и должна работать, но для несуществующих страниц совсем.
Формально конечно не дописанный урл - это тоже как бы не существующая страница. Но тем не менее немного другое. Именно в таком случае только нужен по сути редирект.
Посмотрю что за плагины. Хотя отдаю предпочтение решению вопроса чистым кодом, ну может при рассмотрении плагинов появятся идеи

Добавлено спустя 05 минут 57 секунд
snick23rus пишет плагин перенаправляет запрос на ближайший аналогичный орфографической URL в вашем блоге.

что то вроде того.

Добавлено спустя 10 минут 04 секунды
sportclub2010 пишет
Если урл после разделительного знака ? будет не полным, то JavaScript будет решать что делать дальше. В простом случае посетитель останется на основной странице. Но ошибка всё равно невыскочет.

Схема хорошая, но я так понимаю тут надо целый комплекс и список урлов для скрипта. В принципе думаю так можно бы сделать конечно, но это когда сайт не большой.
Если страниц тысячи и + то что вордпресс построен так же на PHP решать вопрос надо серверными скриптами.
Посмотрю что там из плагинов подсказали, а так еще посмотрим может кто то еще что то предложит. Ну и сам буду думать.
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 23:12] sportclub2010 Рейтинг 2713.87     Стена пользователя sportclub2010 +228  Все ответы пользователя sportclub2010

Ass238 пишет что бы при не дописаном урле при переходе по нему он дописывался

http: //mysite?первая
http: //mysite?вторая

JavaScript определяет допустим первые два символа после знака ?
http: //mysite?пе
http: //mysite?вт

if(arr[1].indexOf("пе") != -1) переход на первая
if(arr[1].indexOf("вт") != -1) переход на вторая
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 23:18] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

sportclub2010 пишет sportclub2010

Да, принцип именно такой. Но тут посложнее будет задача. И как мне кажется JS тут не обойтись.

Гляну что за плагин выше дали, если то что нужно, то его расковырять надо понять как работает и как это все внедрить в СMS редактированием файлов движка.
Проголосовали: snick23rus
Выделите текст и нажмите для цитирования  #  
+1   [11.06.2017 23:58] Revos Рейтинг 71.12     Стена пользователя Revos +5  Все ответы пользователя Revos

sportclub2010 пишет
Но вот как я вижу с точки зрения JavaScript или php.

Для любого сайта самым простым способом будет написание кастомных RenowriteRules в .htaccess с использованием regex. Самым сложным — Soundex поиск по бд урлов сайта.
Ass238 пишет
Revos пишет redirect canonical

Название canonical как мне кажется говорит о том что речь скорее о дубле. Страница по двум и более адресам.
Но это не много не то совсем. Это другая плоскость проблемы.
Так немного не то или совсем не то?
Вот тут описано, как работает эта функция:
https://wordpress.stackexchange.com/questions/92103/disable-wordpress-url-auto-complete?rq=1
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
0   [12.06.2017 00:57] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

Revos пишет Так немного не то или совсем не то?
Вот тут описано, как работает эта функция:
https://wordpress.stackexchange.com/questions/92103/disable-wordpress-url-auto-complete?rq=1

Завтра с переводчиком почитаю что за она.
Но мне кажется не то.
Я так понимаю функция при наличии дублирующей страницы (если на сайте две и более существующие страницы с разными урл) делает редирект на нужную.
Две и более страницы с одинаковым содержанием не отдающие 404.

А по моей задаче, есть страница 1 и 1 урл.
Но завтра точнее про функцию почитаю.
Выделите текст и нажмите для цитирования  #  
+1   [12.06.2017 11:13] sportclub2010 Рейтинг 2713.87     Стена пользователя sportclub2010 +228  Все ответы пользователя sportclub2010

А я опять о своём.
Забудьте всё что я писал выше, есть новый вариант:
Если у вас есть возможность редактировать страницу ERROR 404 (вставить туда JavaScript) и при открывании этой страницы будет виден урл по которому перешёл посетитель, то можно отследить этот урл, ну и дальше выполнить соответствующие действия.

Вот пример на Юкозе:
Нормальный урл http://s2.micp.ru/0149R.jpg
Этот же только не дописанный угл http://s3.micp.ru/7F8W6.jpg

Вот пример:
http://biggameportal.3dn.ru/load/
http://biggameportal.3dn.ru/loa
http://biggameportal.3dn.ru/lo
Ну и по одному символу, переход не задуман
http://biggameportal.3dn.ru/l
http://s3.micp.ru/aqk78.jpg

Практически это будет JavaScript с массивом из всех ссылок с вашего сайта. Правда при создании новой страницы, её нужно будет вводить в этот массив в ручную (менять JavaScript). Или придумать какую то логику в названии страниц, ну это уже из теории искусственный интеллект. Короче я дал идею если страница ERROR 404 работает так как на Юкозе.

Добавлено спустя 46 минут 51 секунду
Вот здесь можно http://s2.micp.ru/vKDI0.jpg
Здесь нельзя http://s1.micp.ru/i5Hed.jpg
Здесь можно http://s3.micp.ru/A880v.jpg
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
+1   [12.06.2017 14:10] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

sportclub2010 пишет sportclub2010

Благодарю за идею. Да страница 404 доступна к редактированию. Ну направление и идея хорошая. Во всяком случае я еще размышляю над вопросом.
Что нибудь да решу.
Но разумеется учту все наводки здесь в ВО:yes:
Проголосовали: sportclub2010
Выделите текст и нажмите для цитирования  #  
+3   [14.06.2017 15:20] mzn Рейтинг 90.52     Стена пользователя mzn +12  Все ответы пользователя mzn

Здравствуй!

Если хочешь написать сам, то...
Когда скрипт не может найти страницу по данному URL он должен взять список aliasURL начинающихся с этого URL. Если результатов нет то выдать стандартную ошибку, если 1 результат - сделать редирект, в противном случае предложить выбор юзеру.

Например, если адрес содержит только название поста то выделяешь из URL обрезанное название и ищешь все похожие записи в таблице постов.

Файл роутинга (или функция), прямо перед выводом ошибки.


А вообще Redirect Canonical именно то что тебе нужно.
Проголосовали: Revos, Ass238, goningtbp
Выделите текст и нажмите для цитирования  #  
+1   [15.06.2017 08:14] bazon Рейтинг 1105.79     Стена пользователя bazon +10  Все ответы пользователя bazon

Ass238 пишет Как реализовать на вордпресс средствами самого кода, ну возможно и дополнением, дописывание ошибочных урлов сайта что бы не было 404 ошибки и открывалась нужная страница?

Видел решение в .htaccess независимо от движка. И в вордпресс наверняка можно реализовать скорее всего через регулярные выражения и функцию parse_url, preg_replace или preg_replace_callback_array
Проголосовали: Ass238
Выделите текст и нажмите для цитирования  #  
0   [16.06.2017 08:06] Ass238 Рейтинг 1648.68     Стена пользователя Ass238 +674  Все ответы пользователя Ass238

mzn пишет А вообще Redirect Canonical именно то что тебе нужно.

Не то редирект этот.
Но проблему почти решил можно сказать, вопрос допиливается.

А каноникал, это же редирект при наличии нескольких страниц с одним содержанием и эти страницы есть. Почти то да не то. Но за оснву хорошо

Добавлено спустя 01 минуту 23 секунды
bazon пишет Видел решение в .htaccess

ранее я реализовывал такое в DLE легко и просто, но там другое ядро и проще. Повторение на вордпресс не дало результатов, отличие ядра играет роль
Но решаемо все
Выделите текст и нажмите для цитирования  #  
0   [16.06.2017 22:56] Topglory Рейтинг 4123.48     Стена пользователя Topglory +518  Все ответы пользователя Topglory

все страницы имеют свой ID материала. Если он не был удалён автором сайта и присутствует в адресах страниц, то всё будет перебрасывать куда надо автоматом.
Пример: полный адрес:
site.ru/вася/пупкин/1289-на-море
1289 это id материала, то даже если написать вот так:
site.ru/1289, будет открыта нужная страница.
По крайней мере у меня так работает на Joomla:yes:

Добавлено спустя 06 минут 32 секунды
Ass238 пишет 404 ошибка

а тут я просто сделал редирект на главную страницу, да и все дела:yes:

Видеоурок

Вопрос-ответ

НОВОСТИ
27.06.2017Вывод на QIWI
подробнее>>
01.06.2017Рассылка всем за 25$
подробнее>>
Еженедельный конкурс рекламодателей
1 Инкогнито 586.3000
2 Инкогнито 266.7240
3 Инкогнито 234.9100
4 Инкогнито 143.5200
5 ronen1 93.2880

подробнее


© 2004-2017 «WMMAIL» Пользовательское соглашение