0
我知道那裏有其他頁面覆蓋https到http,但它們似乎都主要覆蓋整個站點。將一個特定的https請求重定向到http
基本上我想要做的是......我們有一部分我們的網站是通過https
服務的,但是在它的頭部中包含一個搜索字段,這個字段目前指向http
,但這是造成一個警告圖標在Chrome中,所以我們需要將其更改爲https
。
它指向的搜索頁面沒有設置爲通過https
提供服務,所以我們只是想將任何https
請求重定向到相應的http
。
因此,例如:
https://www.example.com/search.php
被重定向到:
http://www.example.com/search.php
...和:
https://www.example.com/search.php?term=foo&cat=bar
重定向到:
http://www.example.com/search.php?term=foo&cat=bar
我在讀this page,但仍不確定如何正確地做到這一點。
而且,不是100%肯定凡在我目前的.htaccess
文件,把它,這是我們當前文件:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteRule ^(.*),(.*)$ $2.php?rewrite_params=$1&page_url=$2
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteRule ^stores/([0-9a-z.-]+)/?$ shop.php?shop_id=$1 [L,QSA,NC]
RewriteRule ^stores/([0-9a-z.-]+)/ajax_files/watch_item\.php$ ajax_files/watch_item.php [L,QSA,NC]
RewriteRule ^stores/([0-9a-z.-]+)/ajax_files/save_field\.php$ ajax_files/save_field.php [L,QSA,NC]
RewriteRule ^stores/([0-9a-z.-]+)/images/form-cb-icons\.png$ images/form-cb-icons.png [L,NC]
RewriteRule ^group-break/([0-9]+)/[0-9a-z.-]+/?$ group_break.php?cb_id=$1 [L,NC]
RewriteRule ^group-breaks/([a-z]+)-[a-z-]+/?$ group_breaks.php?tab=$1 [L,NC]
RewriteRule ^afltcc$ /register.php?partner_id=100 [L,NC]
是否可以在任何地方放?
那如何做所有的查詢參數,以及所有的非redirectional重寫規則?我認爲你需要在那裏添加'QSA'? – Brett 2014-11-01 07:08:49
如果目標中沒有「?」,查詢字符串將作爲**原樣傳遞給目標URL。這裏不需要QSA。 – anubhava 2014-11-01 07:10:53
@Brett不需要。只有當您在重定向中添加新的查詢參數時才需要。 [閱讀此更多解釋](http://stackoverflow.com/a/26410477/2745300) – kums 2014-11-01 07:13:07