0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|||||||||||
1 | |||||||||||
Запретить доступ по site.ru/index.php?id=128.12.2016, 16:29. Показов 1092. Ответов 18
Метки нет (Все метки)
Доброго времени!
Встала задача написать ЧПУ для сайта. Работа ЧПУ настроена, сейчас доступ к страницам происходит вида site.ru/Boks-ofis_Rossii_Passazhiry_vzjali_horoshij_start_f_4 Где Boks-ofis_Rossii_Passazhiry_vzjali_horoshij_start_ - просто название фильма в транслите f - означает что получаем фильм (f - фильм, r - каталог, pr - подраздел и тд) 4 - id фильма, раздела, подраздела и тд ( в зависимости что надо получить) Все работает нормально, но есть одно НО! Дело в том, что заказчик требует что бы все ссылки прямые (вида site.ru/index.php?id=1) были не доступны (КРОМЕ АДМИНКИ!!!) Есть мысли, прописать что-то подобное:
Помогите пожалуйста с реализацией через htaccess Добавлено через 1 час 53 минуты Не стал морочить голову так как там много получается костылей.. Кому интересно, вот решение которое использовал
0
|
28.12.2016, 16:29 | |
Ответы с готовыми решениями:
18
Как запретить доступ к файлам на хостинге, кроме index.php Site.ru/index?=1213. вместо site.ru/index?=12136541361 Чтобы при вводе "site.ru" подразумевалось "site.ru/index.php" Fread(): Length parameter must be greater than 0 in C:\OpenServer\domains\site.ru\index.php on line 138 |
Заблокирован
|
|
28.12.2016, 19:33 | 2 |
Заказчик дело говорит. По-хорошему дубли лучше вовсе не плодить.
Но раз уже сделали, то такое обычно в .htaccess закрывается правилом с условием с THE_REQUEST.
0
|
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|
28.12.2016, 19:36 [ТС] | 3 |
Если не затруднит, напишите готовый пример, по возможности объясните как работает..
Не силен просто в этом, но не помешают эти знания. Благодарю!
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 22:35 | 4 |
Valen_x, лучше не 404, а 301 редирект сделать. В случае 404 бот будет ломится проверять, а вдруг заработает. В 301 "склеит" и не так часто проверять будет.
0
|
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|
28.12.2016, 22:37 [ТС] | 5 |
pyramida, не совсем понял. Редирект куда сделать?
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 22:41 | 6 |
Valen_x, с параметрами, на ЧПУ.
0
|
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|
28.12.2016, 22:44 [ТС] | 7 |
pyramida, а как узнать имя фильма в htaccess?
вот будет примерно такая ссылка site.ru/index.php?act=film&id=1 а мне с нее надо получить site.ru/name_film_f_1
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 22:50 | 8 |
Valen_x, Вы htaccess лучше не трогайте. Лучше все редиректы через PHP. Считается, что записи в htaccess очень сильно нагружают сервер.
ЧПУ сделано через htaccess? Я по правилам его, ничего не могу сказать Как раз изучаю PHP ройтеры это более хорошее решение, чем правила в htaccess
0
|
Заблокирован
|
|
28.12.2016, 22:50 | 9 |
Редирект на канонический адрес, но это совсем не обязательно и может быть даже вредно. pyramida, чтобы делать редирект, нужно быть уверенным, что id корректен. На уровне .htaccess это сделать проблематично, к тому же, если делать отлов просто по index.php, то id может и не быть. Если делать программно, причем так, как сделал ТС, то нужно еще суметь определить, был ли исходный адрес каноническим или нет. К тому же тут нужно будет делать два варианта: либо редирект, либо 404-ая.
Лучше закрыть и забыть. А еще лучше, как написал выше, вообще не иметь дублей, чтобы нечего было закрывать.
0
|
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|
28.12.2016, 22:56 [ТС] | 10 |
miketomlin, ага, вот и я так подумал...
Были и такие мысли... типа отравляем на файл, который вытягивает по id с БД имя, затем формирует ЧПУ адрес и перенаправляет.. Но думаю это ПС вообще не понравится.. По сути попахивает извращением))
0
|
Заблокирован
|
|
28.12.2016, 23:05 | 11 |
Нормальный вариант, но лишний. Такое делают, когда меняется адресация у уже работающего раскрученного сайта.
0
|
0 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 48
|
|
28.12.2016, 23:10 [ТС] | 12 |
miketomlin, Это да... Но это проект новый пишу на заказ. Не люблю писать разные подобные премудрости.
Думаю такой как вот реализовал вариант, самый простой, понятный и без особых затей.. + по защите, так как практически не реально узнать имена каталогов, файлов на которых идет обработка данных, и имена переменных. Согласны?
0
|
Заблокирован
|
|
28.12.2016, 23:13 | 13 |
Не совсем понял. Про index.php догадаться легко, а вот если его переименовать в dff6sfj3gog7hrf0.php, то дубли можно вообще не закрывать
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 23:16 | 14 |
Редирет не показывает канонический адрес, а делает перенос урла. ТС нужно, чтобы не было коротких урл на сайте. Почему я посоветовал сделать 301, написал выше про роботс.
Чем например? Тем, что ЧПУ это часть контента и участвует в ранжировании? Вы пишите много "если", не видя кода я и не сказал "как", а сказал "что лучше сделать". Если у ТС будут вопросы, он спросит.
0
|
Заблокирован
|
|
28.12.2016, 23:18 | 15 |
Я на боковую. На последок вам простая статья, как можно сделать нативные ЧПУ:
Как сделать единую точку входа с ЧПУ? Добавлено через 2 минуты А я сказал, что лучше не делать, если сайт новый, о чем можно догадаться по стартовому посту ТСа.
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 23:22 | 16 |
0
|
Заблокирован
|
|
28.12.2016, 23:25 | 17 |
P.S. Редирект делается, но не для таких дублей, а например для трэйлинг слешей или верхнего регистра (послед. см. по ссылке).
Добавлено через 3 минуты Если сразу закрыть левые адреса, о чем изначально шла речь, и нигде их не постить, ботам неоткуда будет их взять. Всем спать!
0
|
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
|
|
28.12.2016, 23:30 | 18 |
Опять "если" Бот может проигнорировать закрытие в роботс и ноиндекс и попадет страница в индекс. Такие случаи бывают.
Спокойной ночи. Я уже выспался.
0
|
Заблокирован
|
|
28.12.2016, 23:37 | 19 |
Угу, несуществующая страница попадет в индекс Такие случаи бывают только у криворучек.
Спасибо, и вам спокойной ночи.
0
|
28.12.2016, 23:37 | |
28.12.2016, 23:37 | |
Помогаю со студенческими работами здесь
19
Как работает url такого типа index.php/reg/index Как сделать одинаковое отображене нужного мне контента в index.php и index.html ? Формирование ссылки вместо index.php или main.php index.php не иполняется код php вставленный в html Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |