2011-12-26 20 views
0

URLを書き換えたいのですが、?があるときは、それ以降はすべて削除されます。URLからすべてのクエリ文字列を削除する

私は、次のようなさまざまな文字列を、持っている:ありますのであれば、それは簡単にするために

....html?frame=... 

....html?sport=... 

....html?type=... 

を? URLのどこにでも、切り捨てる必要があります。

おかげで多くのことを(ちなみに、私はすでに.htmlのよう.phpの書き換えをしています)。

+0

実際のサンプルを入力してください:ユーザーがブラウザで入力する内容とサーバーで内部的に変更する内容 –

+0

http://stackoverflow.com/questions/8669755/trim-query- stings-from-url/8669969#8669969 – Gerben

答えて

1

としては、コメントで指摘:

RewriteCond %{QUERY_STRING} !="" 
RewriteRule ^(.*)$ /$1? 

動作しますが、OPはそれがPHPを戻り言う - バック> HTMLの拡張変換を。

は、PHPを追加/ htmlの書き換え前を試してみよう:

RewriteRule ^(.*)\.php$ /$1.html 

RewriteCond %{QUERY_STRING} !="" 
RewriteRule ^(.*)$ /$1? [L,R=302] 

私はちょうどそれを試みたが、私はこれが機能するためにセットアップする必要があるかもしれませんこれは、RewriteBaseでいくつかの問題を抱えています。それ以外の場合は、正常に見えます。 mod_rewrite documentation(強調鉱山)から

+0

ありがとう、Darkhogg。そのコードは効果がありませんでした。私はこのコードを見ました: 'RewriteCond%{QUERY_STRING}!=" " RewriteRule ^(。*)$/$ 1? [L、R = 301] 'しかし、クエリ文字列を削除した後に拡張子を.phpに戻しました。 – Beau

+0

修正するために私の答えを更新...まあ、すべて。 php-> html拡張変換に関するいくつかの情報を追加しました。 – Darkhogg

+0

ありがとう、Darkhogg。 php/htmlの書き換えの位置が変わらなかったので、私はそれを試してみる必要があります。 – Beau

0

デフォルトではクエリ文字列

を変更するには、クエリ文字列を変更せずに通過させます。ただし、クエリ文字列部分を含む置換文字列にURLを作成することはできます。置換文字列内の疑問符を使用して、次のテキストをクエリ文字列に再挿入する必要があることを示します。 既存のクエリ文字列を消去する場合は、置換文字列を疑問符だけで終了します。新しいクエリ文字列と古いクエリ文字列を組み合わせるには、[QSA]フラグを使用します。

関連する問題