Как преобразовать строку запроса в URL-адрес в форме отправки метода get в php?

Я занимаюсь разработкой сайта на php, и это мой первый сайт, использующий php, и я новичок в php.

Сайт содержит 2 страницы, index.php и info.php

Index.php имеет следующую форму,

<form action="info.php" method="get">
<input type="text" name="username" />
<input type="text" name="company" />
<input type="email" name="email" />
<button type="submit">Click to Proceed!</button>
</form>

Когда пользователь вводит и отправляет детали. Он перенаправляет на следующую страницу, а URL содержит строку запроса, например,

http://localhost/info?username=john&company=zend&[email protected]

Я хочу отобразить вышеупомянутый URL, как это,

http://localhost/info/john/zend/[email protected]

и получить значения из URL, используя $_GET['username'],$_GET['company'] and $_GET['email']

Я перепробовал много правил переписывания, включая приведенное ниже в htaccess,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteRule ^([\d\w-]+)$ info?username=$1&company=$2&email=$3 [L,QSA]
RewriteRule ^([\d\w-]+)$ info?username=$1&company=$2&email=$3 [QSA]
RewriteRule ^(.*)$ info?username=$1&company=$2&email=$3 [L,QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/([0-9]+)$ info?username=$1&company=$2&email=$3 [L,QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/([0-9]+)$ info?username=$1&company=$2&email=$3 [QSA]

но ничего не работает.

Я старался этот а также Чистые URL для поискового запроса? тоже.

кто-нибудь поможет мне с этим вопросом.

7

Решение

Поток это.

отправьте вашу форму на route.php

вот код для route.php

if(isset($_GET['username']) && isset($_GET['company'])  && isset($_GET['email']) )
$url = '/info/'.$_GET['username'].'/'.$_GET['company'].'/'.$_GET['email']
header('Location: '.$url);

В вашем .htaccess

RewriteRule  ^info/(.+)/(.+)/(.+)$ info.php?username=$1&company=$2&email=$3 [L,QSA]
2

Другие решения

Проверьте с простым правилом, если перезапись работает. Убедитесь, что модуль перезаписи включен.

 RewriteRule  ^info/(.+)/(.+)/(.+)(/*)$ info?username=$1&company=$2&email=$3 [L,QSA]
0

По вопросам рекламы [email protected]