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-ы со знаками вопроса и прочей ерундой.
создайте на хостинге файл .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: /*? # # #все ссылки которые содержат этот знак не индексируются
и пусть с вопросами открывается, индексироваться все равно не будет
На счёт вашего кода – он делает бесконечную переадресацию
от слэшей вот это должно помочь 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 отдавать или ещё что.
Кстати, сначала он заходит в 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"
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 такое не решается?
Если у вас есть одностраничный сайт с единственной страницей index.html, то он будет доступен как минимум по двум адресам: site.ru/ и site.ru/index.html без всяких знаков вопроса и слешей. :) Вас этот момент тоже напрягает? :)
Если бы только это. Одностраничный сайт – для примера привёл.
В моём случае да, главная страница доступна как site.ru/ и как site.ru/index.html (с index.html идёт редирект на корень), НО я также могу попасть и на site.ru/?3rwa, site.ru/?jiggu и т.д., бесконечное количество вариантов.
Это то же самое, что иметь квартиру, но вместо одной двери у вас присутствуют двери в каждом её миллиметре. На кой чёрт это было придумано, если у меня даже не php сайт, где всюду эти динамичные url-ы со знаками вопроса и прочей ерундой.
про любые символы не знаю
создайте на хостинге файл .htaccess и добавьте туда
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]
а в robots.txt
Disallow: /*? # # #все ссылки которые содержат этот знак не индексируются
и пусть с вопросами открывается, индексироваться все равно не будет
Когда роботов останавливали запреты? Представьте себе ребёнка, которому запретили входить в комнату. С одной стороны, проще будет всё время за ним следить, чтобы он не попал в комнату. Но с другой стороны если эту комнату "удалить", то можно упростить жизнь всем сразу – и тому, кто её охраняет, и охладить пыл того, кто хочет в неё попасть. Думаю суть вы поняли 😂
---------- Добавлено 12.10.2016 в 17:09 ----------
про любые символы не знаю
создайте на хостинге файл .htaccess и добавьте туда
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
RewriteRule ^(.*)/$ /$1 [R=301,L]
а в robots.txt
Disallow: /*? # # #все ссылки которые содержат этот знак не индексируются
и пусть с вопросами открывается, индексироваться все равно не будет
На счёт вашего кода – он делает бесконечную переадресацию
ЦМС Джумла?
от слэшей вот это должно помочь
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 ----------
от слэшей вот это должно помочь
Нет ли какого-то универсального способа для любых символов? Или это уже что-то на уровне внутренностей, в которых не получится поковыряться и исправить это?
Вопрос непонятен. По редиректу Вы как раз-таки попадёте на эту страницу. Может быть, нужно не на 301, а на 404?
Как пример, проверил ответы сервера от Хабра. Зашёл на https://habrahabr.ru/post/312458/ , после добавил первый раз "/////", второй раз "?32r23r" – ответ сервера 301 на изначальную https://habrahabr.ru/post/312458/
Что происходит с моим сайтом: захожу на http://site.ru/post/ , добавляю те же 2 варианта (первый раз "/////", второй раз "?32r23r") – ответ 200.
Физическая структура папок на сервере может отличаться от логической структуры папок в url. Это посильная задача для движка сайта.
Если у вас весь "движок" построен на index.html - то тут особо не разбежишься и физическая структура папок будет == логической.
Или заполняйте эти "ненужные" папки нужным контентом, или делайте "редирект" на нужные(если есть возможность). Отдавать 404 - тоже можно, но потеряется ссылочное(если где-то есть/будут ссылки на эти папки)
И боты Google точно будут ломится в эти ваши "промежуточные" папки, даже без наличия ссылок на них.
10-ое сообщение и кто-то понял меня. Плюс хоть кто-то, как и я, знает наглое поведение роботов – есть ненужная папка – роботы её найдут! Благодарю за помощь!
А для тех, кто не понял как роботы её могут найти, поясню.
У вас есть site.ru/page/1/, site.ru/page/2/ и т.д. Ссылок именно на site.ru/page/ нет, но так как в адресе есть такая директория, то гуглу или кому-то ещё просто станет интересно "а что если я уберу "1/" и зайду в "/page/"?"
Может я чего-то не понимаю, но в таком случае промежуточный адрес "site.ru/1/" - просто пустой. На него не ведёт никаких ссылок, там нет никаких страниц. С чего бы ПСу заходить на него вообще? Малоли что в урл написано...
Вот именно что в моём случае он не пустой, так как у хостера такая штука по умолчанию. Оно так, потому что в /1/ нет пустого index файла. Получается, вы имеете ввиду, что нужно туда пустой index.html запихнуть?
ничего не надо делать... пока не разберетесь, что это такое и зачем... и, нет такого понятия '"меж" папками'... сами придумали, сами загрузились😂
Именно поэтому я взял "меж" в кавычки. Если вы не поняли, то поясню. У вас пустой сайт, вы заливаете в него папку 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"
А это точно бот Яндекса?
Сейчас найду лог скину последнюю часть
Попробуйте так
Если я правильно понял, этот скрипт прячет всё что после него для экранов с 1024px в ширину и меньше.
В моём случае это не простой скрипт по типу ajax библиотеки. Это окно с приложением. В самый низ его ну никак нельзя поставить.
Думается, что выход из этого вопроса один – делать мобильную версию сайта. Хотя может я и ошибаюсь... А средствами htaccess такое не решается?