0

私はこの URL を持っています https://www.industrialstores.com/search_results/Asco+8214G30+3%252F4%5C%5C%5C%220%252F5%23+Gas+Shutoff+Valve/46

しかし、上記で%23は、URLの#Gasにあり、この後のすべてのものをphpで読めないようにしています。

クエリ文字列からs&の値をフェッチしようとすると、 と の値が取得されず、返されるだけですが、返されるはずですoosAsco+8214G30+3%252F4%5C%5C%5C%220%252F5Asco+8214G30+3%252F4%5C%5C%5C%220%252F5%23+Gas+Shutoff+Valve

この URL を RewriteRule ^([a-zA-Z0-9_-]{3,100})/([^/]+)/([^/]+)?$ index.php?page= にするために、httaccess rewrite を使用しています。 $1&s=$2&o=$3 [L]

そして、クエリ文字列値を次のように取得するためのコード:

if(isset($_GET['s'])){

$search_keyword=str_replace("_"," ",$_GET['s']);
}
if(isset($_GET['o']) && $_GET['o'] !=''){
$searchin = $_GET['o'];
}

以下のようにクエリ文字列の値を設定します。

$keyword = urlencode(str_replace("/","%2F",$_REQUEST['search_keyword']));
4

3 に答える 3

0

rawurlencode() 関数を使用してみてください。

于 2013-11-21T14:21:56.363 に答える