2013-07-13 29 views
0

這聽起來像這樣的東西編輯應該很簡單......如果添加https:如果不上,有一個字符串,包括後page=postratingspropage=paypaltest的.htaccess爲HTTPS URL後也

下面的代碼的URL定義我使用的,與別人的幫助下在這裏計算器:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?page=(paypaltest|postratingspro)[&\s] [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{HTTPS} on 
RewriteCond %{QUERY_STRING} !(^|&)page=(paypaltest|postratingspro)(&|$) [NC] 
RewriteRule ^(index\.php)?$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NC] 

在看這個[&\s](&|$)所以不知道如何做到這一點需要改變包括任何弦呢?所以它也應該將協議更改爲https爲URL如果此URL已定義:http://mydomain.com/index.php?page=postratingspro;sa=thankyou 但是,如果它已被設置爲https它應該不會改變它。

回答

0

取決於你的意思。

以下行應更改爲HTTPS?

http://mydomain.com/index.php?page=postratingsprothankyou

如果是這樣,那麼就刪除 「[& \ S]」(意思是 「接下來的事情是一個與符號或空白」)。忽略它意味着你不關心接下來會發生什麼。

如果它應該只在「postratingspro」是一個單獨的詞,然後可能是標點符號或某物時纔會改變,則用「\ b」(表示「文字邊界」)替換「[& \ s]」。我推薦這個。

和「(& | $)」(表示下一個字符是&或字符串的末尾)相同 - 我建議用「\ b」替換。

+0

謝謝,這正是我所需要的'\ b' –

+0

耶,很高興有幫助。我的第一個綠色勾號! :d –