URL перенаправления с использованием чистого URL в PHP - PullRequest
0 голосов
/ 01 апреля 2020

Я создаю простое приложение для электронной коммерции и хочу, чтобы мой URL был "чистым". Хорошо, я уже сделал кое-что, чтобы попасть туда, но я сейчас запутался: /

Моя текущая ситуация:
www.example.com/products
На этой странице у меня есть некоторые продукты с их Идентификатор, название и все остальное, что отображается

Когда я нажимаю на название продукта, я отправляю форму с идентификатором и именем и хочу перейти к
www.example.com/detail/ name_of_product <form name="prodDetail" action="detail" method="post">
Подробно. php Я получаю идентификатор продукта по $ _POST, потому что он приходит путем отправки формы. тогда я могу делать все свои вещи по мере необходимости, чтобы отобразить детали продукта.
Пока все хорошо.
но если я сделаю <form name="prodDetail" action="detail/'.$prodName.'"method="post">, у меня ничего не останется, кроме пустой c страницы: / Обратите внимание на ' / ', если я заменю его на '? 'тогда это работает, но я получил ужасный URL с? в нем: /

Так что я думаю, что мой файл htaccess не позволяет мне сделать это: /

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?action=$1&1id=$2&2id=3$ [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$          index.php?action=$1&2id=$2 [L,QSA]
RewriteRule ^([^/]+)/?$                  index.php?action=$1 [L,QSA]

Я использую переключатель. php 'этот файл ловит' действие 'и перемещает меня на нужную страницу с помощью функции. я называю этот скрипт в своем индексе. php.

$action = isset($_GET['action']) ? $_GET['action'] : "default";

switch ($action){
  case 'product';
    showproduct();
    break;
  default:
    defaultpage() //home.php is default
}

Так что, если я отправляю форму для «детализации», переключатель указывает на детали. php.

Прошу прощения за мой плохой английский sh
Надеюсь, кто-нибудь может мне помочь:)

...