0

1つのエントリのWebサイトで2つの疑問符を扱っています。

私はそれを処理するためにurlencodeを使用しようとしています。元のURL:

'search.php?query='.quote_replace(addmarks($search_results['did_you_mean'])).'&search=1'

シングルエントリーのウェブサイトで使用したい:

'index.php?page='.urlencode('search?query='.quote_replace(addmarks($search_results['did_you_mean'])).'&search=1')

うまくいかず、どこで使えばいいのかわからないurldecode

4

3 に答える 3

1

書き直してみませんか

index.php?page=search&query=...

[QSA](クエリ文字列の追加)フラグを使用すると、mod_rewriteがこれを行います。

http://wiki.apache.org/httpd/RewriteQueryString

于 2009-11-23T14:02:52.387 に答える
0

$_SERVER['QUERY_STRING']最初の「?」の後にすべてを提供します URLで。

ここから、「explode」または一般的なsting関数を使用して解析できます。

例:

http://xxx/info.php?test=1?test=2&test=3

$ _SERVER ['QUERY_STRING'] => test = 1?test = 2&test = 3

list($localURL, $remoteURL) = explode("?", $_SERVER['QUERY_STRING']);

$ localURL =>'test = 1'

$ remoretURL =>'test = 2&test = 3'

お役に立てれば

于 2009-11-23T15:28:00.750 に答える
0

より単純なクエリフォームを処理するようにサーバーコードのロジックを変更することをお勧めします。このように、それはおそらくあなたを非常に近い将来どこにも導くことはないでしょう。

使用する

index.php?page=search&query=...

クエリ形式として使用しますが、現在のアプリケーションロジックを満たすためだけに、mod_rewriteで最初に必要な形式に上書きしないでください。ただし、サーバー側でより適切なロジックを使用して処理してください。いくつかのifとthens、スイッチとケースを書いてください...しかし、アプリケーションのロジックをURLに入れようとしないでください。それはあなたを本当に厄介なURLにし、すぐにあなたはあなたが必要とするすべてのロジックを処理するためにその層に多くのスペースがないことがわかるでしょう。:)

于 2009-11-23T19:35:30.000 に答える