Я частично настроил на сайте ЧПУ ссылка имеет вид https://saite.com/автомобили/город/марка/ Такая схема вполне устраивает и всё работает проблема с поисковой строкой сейчас GET параметры из поиска передаются так https://saite.com/автомобили/?city=москва&mark=BMW по сути ЧПУ не используется и одна страница имеет две ссылки https://saite.com/автомобили/?city=москва&mark=BMW https://saite.com/автомобили/москва/BMW Что можно сделать что бы при клике в форме гет параметры передавались и открывалась ссылка вида https://saite.com/автомобили/город/марка/
https://php.ru/forum/posts/627861/ А чтобы не было дублей и прочей подобной фигни, обрабатывай исходный адрес прямо во фронте: Как сделать единую точку входа с ЧПУ? P.S. В путях автодекодирование URL-кодировки не выполняется, поэтому: - либо делай это сам; - либо используй в словарях URL-закодированные слаги; - либо не используй кириллицу в адресах (и в слагах словарей) – многие предпочитают именно этот вариант. Т.е. из формы ты получаешь нативный для юзера текст, а для редиректа уже используешь не эти ключи (названия) из формы/словаря, а слаги из словаря. --- Добавлено --- Ну, и для осн. запроса (после редиректа) уже делаешь выборку по слагам на латинице.
Я не до конца понимаю буквы которые там написаны. У меня есть страница например сity.php (обработчик) которая и обрабатывает все запросы я должен добавить условие в .htaccess Код (Text): RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.* /автомобили/сity.php Что бы все запросы внутри каталога автомобили уходили на сity.php правильно понял ??? Дальше опять на страницу сity.php я добавляю некий код который будет разбирать запрос на составные части и вытаскивать переданыне параметры? Если я всё правильно понял то один фиг ссылка в браузере останется прежней --- Добавлено --- в .htaccess у меня уже прописаны правила --- Добавлено --- И так и не могу понять зачем там городить php если в .htaccess Код (Text): RewriteRule ^автомобили/([^/]+)/$ city.php?do=mod&city=$1[QSA] RewriteRule ^автомобили/([^/]+)/([^/]+)/$ city.php?do=mod&city=$1&model=$2 [QSA] видоизменяем строку браузера с данными так как нужно нам и всё
Нет, единая точка входа (фронт-контроллер, фронт) – это единый «фронтальный» обработчик для всех запросов. Именно он занимается разруливанием запросов, распределяя их по частным обработчикам, а не модуль сервера, как в последнем показанном вами наборе из двух правил. --- Добавлено --- Если вы про статью, то вам, видимо, пока рано заниматься такими вещами, т.к. статья написана практически для нулевичков (и вполне хорошо понимается ими). --- Добавлено --- P.S. Наверное, можно считать фронтом файл city.php в пределах ветки /автомобили/, но в общем-то фронт обычно отвечает за обработку запросов по всем адресам, начиная с /, а не какой-то отдельной ветви --- Добавлено --- Трансляция частей пути в GET-параметры в показанных правилах – это древняя хрень, которая и порождает дубли, если вам до сих пор не понятно