0

検索リンクを書き直す最良の方法を探しています。私のサイトには次のものがあります。

http://domain.com/search.php?keyword=blue+widget&Search=Search

私はこれで終わりたい:

http://domain.com/blue-widget

データベースはなく、ただの html/css です。

前もって感謝します。

4

2 に答える 2

2

これに近いことをしたいと思います:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ search.php?keyword=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ search.php?keyword=$1

ジェイソンの答えは、1つの例でのみ機能します。

アップデート:

正規表現部分にさらに文字を追加して、許可することができます。たとえば、 を許可するには、次のよう*にします。

^([a-zA-Z0-9_-*]+)$

誰かが URL に不適切な文字を直接使用している場合は、404 ページにリダイレクトできます。ただし、ユーザーがフォームに入力した内容に基づいてユーザーの URL を呼び出している場合は、404 ページで終わる URL に送信してユーザーに通知する前に、不適切な文字の値を確認できます。

于 2012-11-14T19:38:55.210 に答える
0

書き換えルールは逆に機能します。したがって、リンクは次のようblue-widgetに書き換えられますsearch.php

RewriteEngine On
RewriteBase /

RewriteRule ^/blue-widget$ /search.php?keyword=blue+widget&Search=Search [L]

注:追加のクエリ文字列パラメーターを受け入れる場合は、QSAフラグを使用する必要があります。

于 2012-11-14T19:28:16.407 に答える