1

次のような .cgi 検索クエリを取得する .htaccess mod_rewrite ソリューションが必要です。

www.mydomain.com/cgi-bin/finda/therapist.cgi?Therapy_Type=ピラティス トレーニング&City=ロサンゼルス&State=CA

一致する結果をブラウザのアドレス バーに返し、次のように表示します。

  • www.mydomain.com/therapists/Pilates-Training-Los-Angeles-CA.html

またはさらに良い:

  • www.mydomain.com/therapists/pilates-training-los-angeles-ca.html

データベースには、1 つ、2 つ、または 3 つの単語とスペースを含む値が含まれていることに注意してください...

例えば:

Therapy_Type=Pilates Training <- includes a space

City=Los Angeles <- includes a space

State=CA <- no space

http://www.generateit.net/mod-rewrite/のツールを使用して、次の RewriteRule を生成しました。

RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /cgi-bin/finda/therapist.cgi?Therapy_Types=$1&City=$2&State=$3 [L]

これは機能し (検索の一致が検出され)、結果ページが生成されますが、パラメーター値にスペースが含まれているため、次のような URL になります。

www.mydomain.com/therapists/Pilates%20Training-Los%20Angeles-CA.html

このフォーラムや他のフォーラムで、これらの %20 (エンコードされたスペース) を取り除く解決策を見つけるために何日も費やしたので、最終的に返される URL は上記の 1) または 2) のようになります。

ここにいる誰かがこれを行う方法を知っている必要があることを知っています...助けて;-)

4

1 に答える 1

0

%20 を - に置き換えた場合、治療の種類がどこで終わり、都市がどこで始まるかをどのように知ることができますか?

pilates-training-los-angeles-ca

だろう

type=pilates
city=training
state=los

したがって、%20 を - に置き換えるのは好きではないと思います。ただし、_ などの別の文字に置き換えることもできます。

pilates_training-los_angeles-ca

次に、すべての _ を PHP スクリプト (またはサーバー側で使用している言語) 内のスペースに変換する必要があります。

于 2012-05-02T07:39:48.713 に答える