2012-02-17 4 views
0

リダイレクトする必要がある古いURLがたくさんあります。このサイトは、mod_rewriteルールでindex.php?url=whateverを打つことによって動作します。しかし、私は、ユーザーがリダイレクトの場合に引数を見たいと思ってはいけない:mod_rewriteリダイレクトはURLを追加しています。私は必要ありません。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteRule ^clients_whatever1\.html$ /[R] 
    RewriteRule ^clients_whatever2\.html$ /client-list/whatever2 [R] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
    </IfModule> 

程度の場合には:

(the domain)/clients_whatever2.html

彼らはにリダイレクトされています(the domain)/client-list/whatever2?url=/client-list/whatever2

ただし、次のようになります。

(the domain)/client-list/whatever2

他のリクエスト(リダイレクトではない)としてブラウザのURLに表示されるようにリダイレクトを行うにはどうすればよいですか?

答えて

0

私が何を意味するかのparamsすなわち

RewriteRule ^clients_whatever1\.html$ /? [R,L] 
RewriteRule ^clients_whatever2\.html$ /client-list/whatever2? [R,L] 
+0

を元のクエリ文字列を削除するには、ルールのターゲットに?を追加はhttp://example.com/clients_whatever2.htmlとして入力されたURLがhttpに変換されていることです://example.com/client-list/whatever2?url =/client-list/whatever - あなたの '?' –

+1

@DanielSmith上記のように処理を停止する 'L'を追加してみてください –

+1

ありがとうございました! –

関連する問題