2013-08-31 13 views
8

私の目的は、このURLである:.htaccess URLに疑問符 "?"を書き換えます。

component/users/?view=registration 

へ:

registration.html 

.htaccessは、Webサイトのフォルダ個人用サイトです。

私はこの試みた:

RewriteRule ^component/users/_view=registration$ registration.html$ [R=301,L] 

、それは非常によく動作します:私はこれをしようとすると...

RewriteBase /mysite 
RewriteRule ^component/users/?view=registration$ registration.html$ [R=301,L] 

をしかし、私は仕事をdoesntの。

どうすればこの問題を疑問符で解決できますか。私はすでにそれがURLの一部ではないことを読んでいます。私はquerystringのようなものを使用しなければならないことを読んだが、私は本当に構文を理解していなかった。

誰かがこの問題の解決策を書いている可能性がありますか?素晴らしいです=)

答えて

21

:uは\

Linktipでそれをエスケープする必要があり、それを文字列として使用するにはクエリ文字列ビューの値をとり、パスcomponent/usersが一致する場合はリダイレクトを使用します。

+1

答えに感謝しますが、それはうまく動作しません) http://localhost/mysite/registration.html ?ビュー=登録 iが入力したとき: ます。http:// localhost /を個人用サイト/コンポーネント/ユーザー/ビュー=登録 あなたはこれを除去することができるかという考えなければならないの – Bardock

+1

恐ろしい? "ビュー=登録?"?! !ありがとう、それは今働く:D – Bardock

-3
RewriteRule ^component/users/\?view=registration$ registration.html$ [R=301,L] 

あなたは\が必要ですか?正規表現の一部です。

RewriteCond %{QUERY_STRING} ^view=(.*)$ 
RewriteRule ^component/users/?$ %1.html? [R=301,L] 

上記のルール/条件はします:あなたは、クエリ文字列データをキャプチャする%{QUERY_STRING}を使用する必要がhttp://ole.michelsen.dk/tools/regex.html

+4

does not work。それでも私はlocalhost/mysite/component/users /?view = registration :( – Bardock