0

GET検索フィールドがある場合、どうすればそれをクリーンURLに送信できますか(たとえば/search/keyword、の代わりにindex.php?fn=search&term=keyword)?可能であれば、フォームの送信イベントを上書きするためにJavascriptを使用したくありません。

ありがとう。

4

4 に答える 4

2

タグ(.htaccess)から、apacheを使用していると思います。そうであれば、mod_rewriteエンジンを使用して、クエリ文字列をSEO対応にすることができます。

このようなウェブの周りにいくつかの非常に素晴らしいリソースがあります

基本的にあなたがする必要があるのは

mod_rewriteがサーバーにインストール/有効化されていることを確認します

mod rewriteをオンにして、ルールを構成します

(ここの素晴らしいリソースによると)、から変換するには

http://www.best-food-of-the-usa.com/index.php?operation=top&state=arizona& city = mesa&limit = 10

http://www.best-food-of-the-usa.com/arizona/mesa/top10.html

ルールを使用できます

RewriteRule ([a-zA-z]+)/([a-zA-z]+)/top10\.html$ index.php?operation=top&state=$1&city=$2&limit=10

もちろん、このルールをより単純で一般的なものにして、すべてのクエリ文字列を処理することも、書き換えるすべてのURLに合わせてカスタマイズすることもできます。

ただし、アプリが新しい書き換えURLを指すように、アプリを覚えて更新してください。

于 2011-11-25T23:09:51.817 に答える
0

javascriptを使用する必要があります。PHPスクリプトをリダイレクトして「クリーン」URLに移動することもできますが、それでも最初に「醜い」URLに移動します。

于 2011-11-25T22:59:17.723 に答える
0

index.phpに対してPOST呼び出しを行ってから、適切なURLにリダイレクトします。

index.php:

<?php
if (!empty($_POST["fn"])){
  $search = $_POST["fn"];
  $keyword = $_POST["term"];

  header("Location: http://www.yourwebsite.com/$search/$keyword");


}else{

 // Show your content

}

?>

もちろん、素敵なURLを処理するにはmod_rewriteを使用する必要があります。

于 2013-10-17T19:22:14.523 に答える
-1

CodeIgniterCakePHPなどのフレームワークを使用することを強くお勧めします。どちらもクリーンURL機能などを備えています。

于 2011-11-25T22:58:57.447 に答える