2011-02-12 6 views
1

私はmod_rewriteでURLを書き直そうとしています。 www.domain.com/page: 問題を書き換えることへのURLがリテラル+(プラス)記号をcontans、そしてそれはまた、私はURLから取得する必要があるのvarsの区切りだ...mod_rewriteで書き換えるURLのプラス記号(+リテラル)..どのように?

現在のURLのです/ 756 /いいえ/配管工+ロンドン/

私は一部、 "配管工+ロンドン" として採用して書き換えることにしたい。新しいURLの

: domain.com/pages/Plumbers/London/

試しても動作しません:

書き換えルールページ/(。 )/ no /(。)\ +(。*)//pages/$ 2/$ 3/[R = 301、L]

ご協力いただけると助かります。 ありがとうございます!

+0

があります区切り文字を変更する方法はありますか? '+'でエンコードされている空白を変更することはできませんが、区切り文字を別の文字に変更することができれば、問題は解決しやすくなります。 –

答えて

2

デリミタを変更します。

ああ簡単な間違いです。

ドット(。)は完全なURIと一致します。一致した場合はと一致します。 にそれを変更してみてください:

RewriteRule page/(.*)/no/(.*)\+(.*)/ /pages/$2/$3 [R=301,L] 

(私の正規表現は少し錆びですが、私はそれがトリックを行うと確信しています。) はおそらく、非欲張り演算子を使用します(。*?)

+0

偉大な、魅力のように動作します!どうもありがとう!! – quokka

関連する問題