Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
32 / 31 / 9
Регистрация: 27.07.2014
Сообщений: 186

Htaccess и ЧПУ: можно ли скрыть id в адресной строке браузера?

18.08.2014, 01:20. Показов 4395. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сейчас все адреса страниц на сайте выглядят таким образом:

/100/ochen-interesnaya-stranica/

Обеспечивается подобный ЧПУ обычной директивой в htaccess:

RewriteRule ^(.*)/(.*)/$ index.php?id=$1&title=$2 [L]

Таким образом, из адресной строки браузера я вынимаю id-шник и с помощью него вынимаю нужную строку данных из Mysql. title - это просто транслитерация заголовка страницы.

Т.е. index.php?id=100&title=ochen-interesnaya-stranica равно /100/ochen-interesnaya-stranica/

Для чистоты URL я хочу исключить отображение id в адресной строке браузера, оставив лишь значение title. Однако при этом id-шник мне необходим. Объясняю, для чего. Сейчас идентификатором страницы на сайте является id в базе данных, при этом заголовок у страницы может меняться, но содержимое всегда остается тем же самым. Т.е. если человек сделал ссылку с другого сайта на страницу /100/ochen-interesnaya-stranica/, а администратор сайта изменил ее название на /100/ochen-interesnaya-stranica-otradaktirovana/, то обе ссылки будут отображать один и тот же контент. Если же убрать id-шник, то это будут 2 абсолютно разные страницы и при редактировании заголовка первоначальная ссылка будет битая.

Можно ли сохранять в адресной строке типа /ochen-interesnaya-stranica/ id-шник страницы, чтобы потом его оттуда выудить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2014, 01:20
Ответы с готовыми решениями:

Не могу разобраться с htaccess (скрыть папку в адресной строке)
Имеется сайт www.mysite.kz (Локально на денвере). Когда захожу на него он переправляет на страницу http://mysite.kz/tpl/index_tpl.php это...

Как скрыть ссылку в адресной строке браузера
Здравствуйте! я только начинаю создавать сайты на ASP.NET и мне нужно узнать Как скрыть ссылку в адресной строке браузера (или выводилась...

Возможно ли изменить название сайта в адресной строке браузера с помощью .htaccess
Сайт диски-шина.рф был перенесен на новый хост. Но доменное имя застряло на старом хосте. На новом хосте сайт привязали к имени...

5
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
18.08.2014, 08:50
По id поиск будет происходить быстрее. Убрать можно, но не в .htaccess. Во многих системах id используется в ЧПУ, а проблема смены заголовка решается путем перенаправления всех старых версий ссылки на новую (наличие постоянного id в этом помогает).
0
32 / 31 / 9
Регистрация: 27.07.2014
Сообщений: 186
18.08.2014, 09:19  [ТС]
miketomlin, чтобы перенаправить все старые версии на новые, необходимо сохранять в базе все эти старые версии заголовков, что, конечно, совершенно не продуктивно, поэтому хотелось бы все-таки вытаскивать id из залоговка
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
18.08.2014, 17:35
См. приписку в скобках. Наличие id в ссылке позволяет избежать сохранения текста старых версий ссылки в базе. Поиск идет по id, а потом просто сравнивается текст из ссылки с текстом новой версии ссылки из базы. Если тексты совпадают – все ОК, иначе – перенаправление на новую версию. Кстати эта система не просто так придумана. Если бы ее не было, при смене заголовка все старые версии ссылки (возможно, уже где-то опубликованные) становились бы недействительными.

Все сказанное выше вовсе не означает, что ЧПУ без id не может нормально функционировать. Вы можете определять ссылку и тайтл независимо друг от друга, хорошо продумывая текст ссылки, чтобы при незначительном изменении тайтла не было бы нужды изменять ссылку. А если все-таки такая нужда возникает, подключать редирект для старой версии вручную или осознанно отказываться от старой версии.
0
32 / 31 / 9
Регистрация: 27.07.2014
Сообщений: 186
18.08.2014, 18:10  [ТС]
miketomlin, собственно, вопрос был в том, можно ли скрыть id'шник в ЧПУ. Ответ, я так понимаю в том, что нельзя?
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2014, 21:12
Можно, но не в .htaccess.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2014, 21:12
Помогаю со студенческими работами здесь

убрать .php с адресной строки браузера htaccess
Здравствующие. Много информации пересмотрел в интернете и не получается в адресной строке браузера убрать .php Сайт без CMS. ...

Чпу в адресной строке из mysql
Здравствуйте! Помогите сделать ЧПУ в адресной строке, что бы вместо http://test1.ru/catalog/film.php?id=1 было...

S.coldsearch.com в адресной строке браузера
ввожу любой адрес, кидает сначала на coldsearch а потом уже на нужный сайт.в настройках стоит от админа.не удаляется.

Как скрыть расширения файлов в адресной строке?
Доброго времени суток, уважаемые гуру. Не могу разобраться с элементарной задачей. Помогите, пожалуйста. У меня в корневом каталоге...

Замена ссылок в адресной строке браузера
Привет всем. Такой вопрос: предроложим страница "контакты" выводится в адрессной страке как "example.ru/index.php?page=3". Каким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru