0
私のURLは、http://www.example.com/eg1?redirect=xyz
ではhttp://www.example.com/eg1
の.htaccess - あるべきURLからクエリ文字列を削除(無リダイレクト)
このために書かれた書き換えルールは次のとおりです。
RewriteCond %{Query_STRING} ^redirect=xyz$
RewriteRule ^(.*)$ /examples/$1? [L]
リダイレクトが正常に動作していますクエリ文字列は追加されたままです。 [R]
フラグを付けると、最後の疑問符(?
)がうまく動作し、クエリ文字列が削除されますが、[L]
フラグが機能しないというフラグが付きます。私の場合、リダイレクトはありません。コンテンツを保持する別のディレクトリに転送するだけです。
私は中間のURLがアドレスバーに来ないようにします。 [C]または[L]フラグを使用しましたか?私がしたことは、このようなURLに一時的にリダイレクトしようとしたことです。 'RewriteCond%{Query_STRING}^redirect = xyz $
RewriteRule ^(。*)$ $ 1? [R]
RewriteRule ^(。*)$/examples/$ 1? [L] 'これは動作しますが、問題は最後のルールが常に実行されていることです。この2つのルールを同時に実行することを考えていました。[C]または[N]フラグが役立つ可能性があります。しかし、彼らは期待どおりに働いていません。 – Karol
@Karolアップデートの更新 – ThinkingMonkey
これは私をあまりにも助けました! – Hexodus