Przepisywanie adresu URL, który zawiera znak zapytania
Mam problem z przepisywaniem adresów URL. Używam przepisywania modów Apache, aby przepisać adresy URL. Na przykład przepisuję URL
www.website.com/some/path/
dorequest.php?string=some/path/
.Następnie wyświetlam konkretną odpowiedź dla tego adresu URL. W tej chwili moja reguła przepisywania wygląda tak:
<code>RewriteRule ^([a-z_/\?]+)$ request.php?string=$1 </code>
Ale problem zaczyna się, jeśli mam adres URLwww.website.com/some/data/?id=12&name=John
i przepisz go, otrzymam coś takiego:request.php?string=some/data/?id=12&name=John
. Wydaje się, że w tym przykładzie inny znak zapytania myli PHP. Jeśli spróbuję odzyskać$_GET['string']
w request.php wszystko co dostaję to:some/data/
.
W celu uzyskania dalszych informacji Gmail robi coś podobnego z adresem URL:https://mail.google.com/mail/?ui=1&shva=1