Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583

Изменить вид адресной строки после получения GET параметра (?id=)

03.06.2022, 18:58. Показов 585. Ответов 10

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть список бойцов и у каждого своя страница.
Данные боксера нужно взять через _GET параметра и поменять url.
Путь php файла, который обрабатывает страницу боксера находится
PHP
1
/nikitin/showProfile/getMemberProfile.php
Без переименования адресная строка выглядит с вопросиком и все работает
PHP
1
https://localhost/nikitin/showProfile/getMemberProfile?id=29
Нужно переименовать её на
PHP
1
https://localhost/boxers/29
А когда в htaccess переименовываю - то пишет "Объект не найден!"

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
RewriteEngine On
 
RewriteCond %{QUERY_STRING} id=(\d+) [NC]
RewriteRule .* /page/%1/? [R=301,L]
 
# это чтобы .php из адресной строки убрать
RewriteCond %{REQUEST_METHOD} !=POST
 
RewriteCond %{THE_REQUEST} \s(\S+)\.php
RewriteRule ^ %1 [R=301,L]
 
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
Не подскажите как изменить адресную строку ? А то все что в гугле находил - не работает почему то. Использую Open Server - может там надо что то настроить?
Миниатюры
Изменить вид адресной строки после получения GET параметра (?id=)  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2022, 18:58
Ответы с готовыми решениями:

Как получить русский текст при получении параметра из адресной строки
Добрый день! Передаю параметр из одной вьюхи в другую. Пытаюсь получить параметр name содержащий русский текст из адресной строки. Русский...

Изменить текст адресной строки браузера
Помогите пожалуйста , нужно чтобы программа могла изменить текст адресной строки браузера , как сделать не знаю. И еще не знаете как...

как убрать, изменить часть urla в адресной строки
Уважаемые гуру, подскажите решение данного вопроса... Хочется из mainnn.ru/privet.php сделать следующие из возможных вариантов: ...

10
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
04.06.2022, 12:45  [ТС]
То есть через адресную строку и через
Code
1
<a href=
все можно сделать так
В .htaccess
Code
1
RewriteRule ^profile/([^/\.]+)/?$ nikitin/showProfile/getMemberProfile.php?id=$1 [L]
И в html
HTML5
1
<a href="http://localhost/profile/625">
И при клике на ссылку срабатывает нужный php файл ( nikitin/showProfile/getMemberProfile.php ).
Но при обработке формы через метод get - не работает
HTML5
1
<form action="../showProfile/getMemberProfile.php" method="get">
Причем не важно какой action - видимо он не может работать как href (с левой ссылкой).
Как думаете - можно такое провернуть через форму?
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
04.06.2022, 16:46
Зачем вам вообще форма? Я у вас про нее еще в "позапрошлой" теме спрашивал, но вы не сочли нужным ответить.

По логике в action должны присутствовать только "внешние" адреса (/profile или /profile/625). Чтобы преобразовывать GET- или POST-параметры в части таких путей, используют технику Get-Redirect-Get или Post-Redirect-Get, но я пока не увидел у вас необходимости в этом.
0
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
04.06.2022, 16:53  [ТС]
Цитата Сообщение от estic Посмотреть сообщение
Зачем вам вообще форма?
В форме можно ставить полям тег required и не проверять его с помощью js. - Кода меньше.
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
04.06.2022, 16:57
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
В форме можно ставить полям тег required и не проверять его с помощью js. - Кода меньше.
Форма, спрашиваю, зачем нужна?

Добавлено через 1 минуту
Для перехода на страницу профиля конкретной персоны?
0
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
04.06.2022, 16:59  [ТС]
Да и не понятно как с помощью href вставить GET запрос в адресную строку (как определить что /profile/625 а не /profile/2 например).

Добавлено через 1 минуту
Цитата Сообщение от estic Посмотреть сообщение
Для перехода на страницу профиля конкретной персоны?
Да - через гет параметр получаю id персоны
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
04.06.2022, 17:00
HTML5
1
<a href="http://localhost/profile/625" class="button">
Это все. Ну, и где "кода меньше"?
0
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
04.06.2022, 17:02  [ТС]
Можно конечно кнопку как ссылку сделать
HTML5
1
2
<a class="btn btn-success" href='/profile'><span><strong>Профиль участника</strong></span>
                  </a>
Но как в эту ссылку впихнуть id - не понятно
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
04.06.2022, 17:05
Лучше даже так:
HTML5
1
<a href="/profile/625" class="button">
Добавлено через 2 минуты
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
Но как в эту ссылку впихнуть id - не понятно
Это зависит от того, как вы страницу списка формируете. Примерно так:
PHP
1
<a href="/profile/<?= $row['id'] ?>" class="button">
1
 Аватар для nnnikotinnn995
7 / 7 / 4
Регистрация: 07.07.2011
Сообщений: 583
04.06.2022, 17:06  [ТС]
Цитата Сообщение от estic Посмотреть сообщение
Это все. Ну, и где "кода меньше"?
625 - не известное число. Ну тогда через php как то надо его получать что ли
PHP
1
2
$n++;
echo '<a href="http://localhost/profile/'.$n.'" class="button">';
Добавлено через 1 минуту
Вы меня опередили - спасибо
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,884
04.06.2022, 17:12
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
Ну тогда через php как то надо его получать что ли
Естественно. Код для страницы списка выбирает из базы данных список записей для вывода. И никогда не используйте инкремент при работе с идентификаторами. Они могут быть не последовательными натуральными числами. Например, "не дай бог" какого-то бойца стукнут так, что он не оклемается. Тогда вы можете его удалить из базы данных, и такой идентификатор "выпадет".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2022, 17:12
Помогаю со студенческими работами здесь

Как изменить внешний вид Элементов Comboboxa и изменить вид scrollbara
Доброго времени суток. как добраться до скролл бара и поменять его внешний вид и внешний вид item'ов у комбобокса

Шаблон для ListView. Изменить внешний вид ColumHeader. Изменить внешний вид ListViewItem'ов. Подробности, код, скриншоты внутри...
Здравствуйте. Есть ListView, я к нему делаю шаблон. И появилось несколько вопросов. 1) Как в этом шаблоне изменить цвет каждого...

Как изменить вид страницы после входа в систему
Есть код главной страницы &lt;? if (!defined('webid')) { exit(); } ?&gt;&lt;h3&gt;Добро пожаловать на &lt;?=$sitename?&gt;&lt;/h3&gt; ...

Как изменить вид курсора после щелчка по кнопке в заголовке окна
Если отключить свойства MinimizeBox и MaximizeBox формы и включить свойство HelpButton, появится дополнительная кнопка в заголовке окна....

Изменить значение параметра реестра так, чтобы оно не восстанавливалось после перезагрузки
В общем там мне надо что бы был нолик в одном файлике, но после перезагрузки он опять становится единичкой =D постоянно лазаю меняю, как...


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

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