Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179

Преобразование адресной строки

17.08.2013, 16:48. Показов 4116. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здавствуйте,интересует следующий момент,иногда замечал что на сайтах например в разделе новости url адрес конкретной новости состоит не из числового id,а из его заголовка в виде английских букв,например:
есть новость с id=345,обычно url алресс выглядит как www.site/news/345
Но я видел что в url впихивают русские заголовки английской расскладкой,ну например если в заголовке новости будет "сегодня праздник 9 мая" то url адресс данной новости будет выглядеть как:

www.site/news/segodnya-prazdink-9-maya
У меня 2 вопроса
1)как подобный url влияет на сео-показатели?я слышал что хорошо,так ли это и но на сколько?стоит ли заморачиваться?
2)как это сделать?использую php фреймфорк codeigniter,как вообще такая штука называется?и как это реализовывается?создается отельное поле в бд?или как?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2013, 16:48
Ответы с готовыми решениями:

Преобразование адресной строки броузера сервером.
Нужно решить прямую и обратную задачу. Прямая задача: Человек в адресной строке броузера набирает к примеру www.lafa.ru/Eng Нужно,...

Сравнение адресной строки
Есть js код var urlz = document.location; //Расположение документа cat71 = "http://localhost/catalog/71/"; //Что должно содержаться...

Запрос из адресной строки
Вообщем столкнулся с довольно глупой проблемой. Есть код: <?php echo "Здравствуй, " .$_POST; ?>При переходе по адресу -...

26
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.08.2013, 18:09
Цитата Сообщение от Xoma204 Посмотреть сообщение
1)как подобный url влияет на сео-показатели?я слышал что хорошо,так ли это и но на сколько?стоит ли заморачиваться?
реврайтный юрл влияет на сео .
2)как это сделать?
Это делает mod_rewrite в апаче, а в nginx походу по дефолту поддерживается реврайтный юрл, как орагнизаовать - зависит от структуры сайта...
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 18:12  [ТС]
1)в картинке там url русский,а как мне делать русский или на английской расскаладке с русскими словами?
2)а поподробнее можно как грамотно все оформить?сейчас у меня в url адресе у каждой новости просто ее id стоит
3)и сильно ли влияет такой url с точки зрения сео?????
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.08.2013, 18:22
Цитата Сообщение от Xoma204 Посмотреть сообщение
в картинке там url русский,а как мне делать русский или на английской расскаладке с русскими словами?
Цитата Сообщение от crautcher Посмотреть сообщение
Это делает mod_rewrite
Юрл будет любой - какой захочешь. Твоя задача составить правила для сервера таким образом, чтобы при обращении к юрлу (которого по факту нет '/купить-слона.html') сервер отдал нужную страницу. К примеру
Code
1
rewrite  '^/(.*)-(.*)а?.html$' '/show.php?cat=$1&name=$2' last;
значит про обращении к /купить-слона.html сервер отдаст /show.php?cat=купить&name=слон . Вот я и говорю, что все зависит от структуры сайта. Можете скачать современные cms и посмотреть как они это делают
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 18:32  [ТС]
3)и сильно ли влияет такой url с точки зрения сео?????
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
17.08.2013, 18:44
Очень положительно влияет, насколько сильно сказать сложно.
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 20:54  [ТС]
Я пока не понимаю как это все делается
Я использую godeingniter
Т.е мне точно не нужно создавать отдельное поле в таблице новости??
Я думал создать поле title_eng и хранить в нем такое буквенное представление url а потом при обращении к контроллеру производить запрос к бд только сравнивать не id новости а вот это поле
Разве так нельзя????
И как у меня будут ссылки выглядеть?можно поподробнее???или прям обязательно использовать этот rewrite и если обязательно то как это делать?
У меня сейчас ссылки в виде www.site/name_controller/name_function/id
где id Я потом сравниваю и вытаскиваю из БД нужную мне новость,мне
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 21:42

Не по теме:

Цитата Сообщение от Xoma204 Посмотреть сообщение
Я использую godeingniter
Обожествляете CI ? :)



Добавлено через 1 минуту
Цитата Сообщение от Xoma204 Посмотреть сообщение
Разве так нельзя????
можно. Но зачем?
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 21:44  [ТС]
KOPOJI, я опечатался.Вы знаете как сделать то что я спросил?

Добавлено через 1 минуту
как мне выдопустим у меня страница со 100 ссылакми,сейчас на конце у меня числовые значения id
Как мне преобразовать в буквенное?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 21:46
Как именно в CI не знаю. А вообще, создать метод, в который передавать параметр из урл, по нему искать в БД и отображать

Добавлено через 1 минуту
PHP
1
2
3
4
public function action_имя($url)
{
    //проверяем $url и т.п., затем ищем в БД. Нашли - выводим инфу из БД, не нашли - выводим ошибку
}
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 21:47  [ТС]
что в $url должно храниться???id числовое??

Добавлено через 5 секунд
или как?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 21:47
это же фреймворк. Почитайте про настройку маршрутизации в CI, настройте, как вам надо, и все.
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 21:49  [ТС]
у меня сейчас id а нужно сделать текст

Добавлено через 1 минуту
вы наверное не поняли вопрос,сейчас я беру id методом получаю массив по 1 нвоости,но строка формируется у меня
с id на конце,а мне надо чтобы был заголовок статьи но не на русском а на английском,как это сделать?
сейчас у меня при обращенит например к news/56 идет обращение к бд where id_news=56 и береться статься
Но мне нужно сделать чтобы вместа числа было по английски написан русский текст!!!!как сделать?????
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 21:53
Вы читали документацию того, что вы используете..?
http://www.code-igniter.ru/use... uting.html
http://www.code-igniter.ru/use... passinguri
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 21:53  [ТС]
можно более подробнее а не общими словами?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 21:58
Как еще подробнее написать? Я уже говорил, что не пользуюсь им. Но по ссылкам все написано
URI Роутинг

Как правило есть соответствие один-к-одному между строкой URL и соответствующим контроллером/методом. Сегменты URL обычно формируются по этому шаблону:
Code
1
www.your-site.com/class/function/id/
Однако, в некоторых случаях, вы можете перенаправить адрес так, чтобы строка вида контроллер/метод указывала на совершенно другие места в приложении.

Например, вы хотите чтобы ваши адреса соответствовали этому шаблону:
Code
1
2
3
4
www.your-site.com/product/1/
www.your-site.com/product/2/
www.your-site.com/product/3/
www.your-site.com/product/4/
Как правило второй сегмент адресной строки резервируется для имени функции, но в примере выше мы хотим использовать вместо него ID. Чтобы сделать это, необходимо перенаправить адрес на обработчик URL CodeIgniter.

Установка правил собственной маршрутизации
Правила маршрутизации объявляются в вашем файле application/config/routes.php. В нем вы увидите массив с названием $route, при помощи которого вы сможете переопределить адреса. Роуты могут быть определены двумя способами: маской или Регулярными Выражениями

Маски
Обычная маска маршрута может выглядеть примерно так:
PHP
1
$route['product/:num'] = "catalog/product_lookup";
В роуте ключ массива содержит URI в котором будет искаться соответствие, а в значении содержится путь, куда необходимо переадресовать обработчик. Если в приведенном выше примере слово «product» находится в первом сегменте, а номер во втором сегменте, то вместо этого адреса будет произведено обращение к классу «catalog» и методу «product_lookup».

Вы можете использовать буквы или два типа заполнителя:

:num
:any
:num будет соответствовать сегмент, содержащий только цифры.
:any будет соответствовать сегмент с любыми символами.
Замечание: Роуты будут работать в том порядке, в котором они определены. Ранее определенные всегда будут преобладать над определенными позже.
Примеры
Вот несколько примеров маршрутизации:

PHP
1
$route['journals'] = "blogs";
URL содержащий слово «journals» в первом сегменте будет переадресован к классу «blogs».

PHP
1
$route['blog/joe'] = "blogs/users/34";
URL содержащий сегменты «blog/joe» будет переадресован к классу «blogs» и методу «users». ID будет установлен в значение «34».

PHP
1
$route['product/:any'] = "catalog/product_lookup";
URL со словом «product» в первом сегменте, и любым другим во втором будет перенаправлен к классу «catalog», методу «product_lookup».

Важно: Не используйте начинающих/конечных слешей.
Регулярные Выражения
При желании вы можете использовать Регулярные Выражения для определения правил роутинга. Допускается любое правильное регулярное выражение, как и обратные ссылки.

Замечание: Если вы используете обратные ссылки, то должны пользоваться синтаксисом доллара и затем двойной бэкслеш.
Типичный RegEx роут должен выглядеть так:

PHP
1
$route['products/([a-z]+)/(\d+)'] = "$1/id_$2";
Например, при запросе адреса products/shirts/123 будет вызван контроллер shirts и метод id_123 в нем.

Вы, также, можете одновременно использовать Маски и Регулярные Выражения.

Зарезервированные роуты
Есть два зарезервированных роута:

PHP
1
$route['default_controller'] = 'welcome';
Этот роут показывает что необходимо загружать, когда пользователь ввел корневой адрес, т.е. прямо не показал к какому контроллеру обращаться. В этом примере будет загружен класс «welcome». Вам рекомендуется всегда указывать этот роут, т.к. страницы 404 будут, по умолчанию, ссылаться на него.

PHP
1
$route['scaffolding_trigger'] = 'scaffolding';
Сами ссылки меняете в шаблоне, где их выводите.

Не по теме:

уж извините, если это "общими словами", то я не знаю, что вы вообще хотите увидеть в ответ. Наверное, готовый код.

0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 22:01  [ТС]
проситал и что????вот у меня есть несколько новостей с id 44, 55,66,77 ,88
У них у всех СВОИ РАЗНЫЕ заголовки,как мне сделать так чтобы вместо числе одображались слова

Добавлено через 2 минуты
КАК МЕНЯТЬ????У МЕНЯ У КАЖДОЙ ССЫЛКИ СВОЙ УНИКАЛЬНЫЙ ЗАГОЛОВОК!!!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 22:02
Цитата Сообщение от Xoma204 Посмотреть сообщение
У них у всех СВОИ РАЗНЫЕ заголовки
Вывести вместо СВОИХ РАЗНЫХ id СВОИ РАЗНЫЕ заголовки ?

Добавлено через 31 секунду
Цитата Сообщение от Xoma204 Посмотреть сообщение
КАК МЕНЯТЬ????
РУКАМИ
Цитата Сообщение от Xoma204 Посмотреть сообщение
У МЕНЯ У КАЖДОЙ ССЫЛКИ СВОЙ УНИКАЛЬНЫЙ ЗАГОЛОВОК!!!
Все понятно. Удачи.
0
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 179
17.08.2013, 22:06  [ТС]
а где я буду брать эти заголовки??

Добавлено через 3 минуты
из БД???или где они должны храниться?или сам формироваться исходя из загловка статьи написанного по русски?или как?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.08.2013, 22:07
Цитата Сообщение от Xoma204 Посмотреть сообщение
У МЕНЯ У КАЖДОЙ ССЫЛКИ СВОЙ УНИКАЛЬНЫЙ ЗАГОЛОВОК!!!
Цитата Сообщение от Xoma204 Посмотреть сообщение
а где я буду брать эти заголовки??
Вы определитесь..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2013, 22:07
Помогаю со студенческими работами здесь

Перенаправление с изменений адресной строки
Приветствую всех! Господа нужна помощь! Есть такая структура: site/template/admin в папке admin находится файл index.php; в site...

Отправка формы из адресной строки
А можно ли так хитро сделать, что мы вводим определенный url и при переходе по нему уже попадаем на страницу где форма считается...

Как убрать id из адресной строки
Привет. Появился такой вопрос. Есть ссылка - profile2 (2-это id пользователя). Я сократил ссылку по средствам прописки в .htaccess...

Не определяется переменная из адресной строки
Начал делать сайт на php. Застопорился буквально на пустом месте - в php-программе не определяются переменные из адресной строки. Почему -...

Как убрать id из адресной строки?
Привет всем! Есть ссылка profile?id=2 как сделать сделать ее просто - profile?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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