dpakyj1a

Рейтинг
61
Регистрация
26.02.2013
kom09:
Если у вас есть одностраничный сайт с единственной страницей index.html, то он будет доступен как минимум по двум адресам: site.ru/ и site.ru/index.html без всяких знаков вопроса и слешей. :) Вас этот момент тоже напрягает? :)

Если бы только это. Одностраничный сайт – для примера привёл.

В моём случае да, главная страница доступна как site.ru/ и как site.ru/index.html (с index.html идёт редирект на корень), НО я также могу попасть и на site.ru/?3rwa, site.ru/?jiggu и т.д., бесконечное количество вариантов.

Это то же самое, что иметь квартиру, но вместо одной двери у вас присутствуют двери в каждом её миллиметре. На кой чёрт это было придумано, если у меня даже не php сайт, где всюду эти динамичные url-ы со знаками вопроса и прочей ерундой.

vicknv:
про любые символы не знаю

создайте на хостинге файл .htaccess и добавьте туда
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]

а в robots.txt
Disallow: /*? # # #все ссылки которые содержат этот знак не индексируются

и пусть с вопросами открывается, индексироваться все равно не будет

Когда роботов останавливали запреты? Представьте себе ребёнка, которому запретили входить в комнату. С одной стороны, проще будет всё время за ним следить, чтобы он не попал в комнату. Но с другой стороны если эту комнату "удалить", то можно упростить жизнь всем сразу – и тому, кто её охраняет, и охладить пыл того, кто хочет в неё попасть. Думаю суть вы поняли 😂

---------- Добавлено 12.10.2016 в 17:09 ----------

vicknv:
про любые символы не знаю

создайте на хостинге файл .htaccess и добавьте туда
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]

а в robots.txt
Disallow: /*? # # #все ссылки которые содержат этот знак не индексируются

и пусть с вопросами открывается, индексироваться все равно не будет

На счёт вашего кода – он делает бесконечную переадресацию

vicknv:
ЦМС Джумла?

от слэшей вот это должно помочь
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]

Нет, просто сайт на html.

Ввожу в адресную строку чужойсайт.ru/post/?абракадабра ->>> переход происходит на чужойсайт.ru/post/ – как и положено (абракадабра после "?" убирается).

Делаю то же самое с моим сайтом: ввожу в адресную строку мойсайт.ru/post/?абракадабра ->>> переход происходит на мойсайт.ru/post/?абракадабра – абракадабра не убирается.

Я просто не пойму кто писал все эти апачи. Если у меня есть одностраничный сайт, то он и должен быть доступен по ЕДИНСТВЕННОМУ адресу. Но нет. Возможно бесконечное число вариаций со всякими знаками, в том числе вопросительными, множеством слэшей и т.д.

---------- Добавлено 12.10.2016 в 16:44 ----------

vicknv:
от слэшей вот это должно помочь

Нет ли какого-то универсального способа для любых символов? Или это уже что-то на уровне внутренностей, в которых не получится поковыряться и исправить это?

Sitealert:
Вопрос непонятен. По редиректу Вы как раз-таки попадёте на эту страницу. Может быть, нужно не на 301, а на 404?

Как пример, проверил ответы сервера от Хабра. Зашёл на https://habrahabr.ru/post/312458/ , после добавил первый раз "/////", второй раз "?32r23r" – ответ сервера 301 на изначальную https://habrahabr.ru/post/312458/

Что происходит с моим сайтом: захожу на http://site.ru/post/ , добавляю те же 2 варианта (первый раз "/////", второй раз "?32r23r") – ответ 200.

Ladycharm:
Физическая структура папок на сервере может отличаться от логической структуры папок в url. Это посильная задача для движка сайта.

Если у вас весь "движок" построен на index.html - то тут особо не разбежишься и физическая структура папок будет == логической.
Или заполняйте эти "ненужные" папки нужным контентом, или делайте "редирект" на нужные(если есть возможность). Отдавать 404 - тоже можно, но потеряется ссылочное(если где-то есть/будут ссылки на эти папки)
И боты Google точно будут ломится в эти ваши "промежуточные" папки, даже без наличия ссылок на них.

10-ое сообщение и кто-то понял меня. Плюс хоть кто-то, как и я, знает наглое поведение роботов – есть ненужная папка – роботы её найдут! Благодарю за помощь!

А для тех, кто не понял как роботы её могут найти, поясню.

У вас есть site.ru/page/1/, site.ru/page/2/ и т.д. Ссылок именно на site.ru/page/ нет, но так как в адресе есть такая директория, то гуглу или кому-то ещё просто станет интересно "а что если я уберу "1/" и зайду в "/page/"?"

serezka:
Может я чего-то не понимаю, но в таком случае промежуточный адрес "site.ru/1/" - просто пустой. На него не ведёт никаких ссылок, там нет никаких страниц. С чего бы ПСу заходить на него вообще? Малоли что в урл написано...

Вот именно что в моём случае он не пустой, так как у хостера такая штука по умолчанию. Оно так, потому что в /1/ нет пустого index файла. Получается, вы имеете ввиду, что нужно туда пустой index.html запихнуть?

totamon:
ничего не надо делать... пока не разберетесь, что это такое и зачем... и, нет такого понятия '"меж" папками'... сами придумали, сами загрузились😂

Именно поэтому я взял "меж" в кавычки. Если вы не поняли, то поясню. У вас пустой сайт, вы заливаете в него папку 1, в неё папку 2, а в неё файл index.html. В итоге вы залили один файл, но имеете два пути: site.ru/1/ и site.ru/1/2.html. Само собой, первый вариант вам не нужен. По умолчанию на сервере хостера настроена специальная страница для таких файлов, что не хорошо для ПСов – уверен, что они не обрадуются какой-то левой странице. Вот поэтому и узнаю, что с такими делать – 404, 403 отдавать или ещё что.

"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"

Кстати, сначала он заходит в robots.txt, после через 5 секунд на ту странную ссылку. Вот его IP: 130.193.50.201. Проверка показала, что это домен spider-130-193-50-201.yandex.com. Окончание "yandex.com" – вроде как настоящий.

---------- Добавлено 10.09.2016 в 21:11 ----------

Периодичность – около 16-ти часов.

---------- Добавлено 10.09.2016 в 21:13 ----------

Из роботса он никак не мог взять ту ссылку – в нём только две строки "host" и "sitemap"

Piligrim4x4:
А это точно бот Яндекса?

Сейчас найду лог скину последнюю часть

indenger20:
Попробуйте так

var windowW = document.documentElement.clientWidth; // узнали ширину окна браузера
if ( windowW < 1024 ) {
var elem = document.createElement('script'); //создали тег
elem.setAttribute('src', 'main.js'); // вписали путь
document.body.appendChild(elem); //вставили в конец тега body
}

Если я правильно понял, этот скрипт прячет всё что после него для экранов с 1024px в ширину и меньше.

В моём случае это не простой скрипт по типу ajax библиотеки. Это окно с приложением. В самый низ его ну никак нельзя поставить.

Думается, что выход из этого вопроса один – делать мобильную версию сайта. Хотя может я и ошибаюсь... А средствами htaccess такое не решается?

Всего: 136