2017-06-08 10 views
0

私はそれを正しく尋ねるか分からない。私は初心者です。 私は、商品を検索できるウェブサイトを構築しています。ウェブサイトにフォームがあり、値はphp getメソッドを使って検索されます。フォーム提出後のURLは次のようなものです。フォームを送信してクリーンURLを取得する

example.com/?q=item

私が働く同じ結果を取得するためにexample.com/item/を使用できるように、私はhtaccessのファイルを変更しました。

ユーザーがフォームを送信すると、example.com/item/にリダイレクトされます。どうすればこれを達成できますか?私はjavascriptやPHPを使うべきか、それとも良いのでしょうか?

+0

それは(私の意見では)だ項目を表示するためのexample.com/item/のようなURLを持っているよりよいが、検索フォームでは、なぜ単にクエリ文字列を使用しないのですか?それはあなたがそれを使用すべきであることの主な例です...検索エンジンが検索ページを実際のページとして見るのを妨げ、検索オプションを使い果たします。 – Ivar

+0

実際これを見るには検索エンジンが必要です。私はこのようなものを作る必要があります。 [dictionary.cambridge.org/us/dictionary/english/good/](http://dictionary.cambridge.org/us/dictionary/english/good/) –

+0

ああ、それは意味があります。 – Ivar

答えて

0

なぜ両方ではないか。 Javascriptを有効にしているユーザー向け。 PHPはそうしない人のための後退として。

PHP

if (!empty($_GET['q'])) 
{ 
    $redirecturl = $domainname . "/search/" . $_GET['q']; 
    $redirecturl = str_replace(" ", "-", $redirecturl); 
    header('Location: ' . $redirecturl, true, 303); 
    die(); 
} 

Javascriptを

参照:How to submit form using JavaScript and redirect to a URL?

+0

PHPコードでループが作成され、urlはexample.com/example.com/search/example.com/search/......./itemのようなものでした。どうすればこれを防ぐことができますか? –

+0

「https:// example.com」などの絶対URLを使用してみてください。 – pappy

関連する問題