2011-09-15 22 views
0

私はいくつかの分野でhttpsを使用していますが、いくつかのhttps URLをhttpのものに変更する際に問題があります。これは私が必要なものである:.htaccess https urlをhttpにリダイレクト

変更このURLのURLをこれに

https://www.domain.com/somefile.php?PossibleGetParameters 

http://www.domain.com/somefile.php?PossibleGetParameters 

これは私が私の.htaccessに持っているものです。

これにより
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^(/somefile.php) 
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

条件すべてのHTTPSのURLはhttpになって、私はこの特定のものを変更したいだけです。これを修正する方法はありますか?

答えて

0

確かに...感嘆符!を2番目の条件から削除してください。その位置では、ルールは否定されます。

最終規則は次のようになります。

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} ^/somefile.php 
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

私は(あなたは、単一のURLのためにそれを必要とするような)ルールに小さなビットを簡素化しました。

最新のブラウザではキャッシュ301のリダイレクトが行われるため、このルールはすぐには機能しない可能性があります。ブラウザは以前の試行を記憶している可能性があります。したがって、ブラウザのキャッシュをクリアしてから、ルールをテストする前に再起動してください(または別のブラウザを試してみてください)。

関連する問題