2012-05-25 14 views
0

我想在虛擬目錄中關閉ssl -cron
需要通過http運行的某些URL例如是/ cron/one,/ cron/two或/ cron/3在某個虛擬目錄中關閉SSL

我使用這個重寫強制SSL

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

一些例子,這裏應該SSL關閉:

/cron/one 
/cron/two 
/cron/three 

一些幫助?

回答

0

對不起,這是不可能禁用SSL對於一個給定的URI。 這是一個雞和雞蛋的問題。當客戶端將GET/POST HTTP方法調用發送到包含請求的URI的服務器時,通道已經被加密。 SSL可以啓用或每個虛擬主機disabledw與SSLEngine的指令。

您就可在普通HTTP專用虛擬主機監聽127.0.0.1是處理你的/ cron的/ URI,或者你可以使用一個啓用HTTPS CLI HTTP客戶端從你的crontab。

+0

你可能誤解了問題;他們使用'mod_rewrite'迫使整個網站的SSL,現在他們想從申請子目錄停止規則。 – Ashe

0

內,您的SSL VH:

Redirect /cron/one http://your.domain/cron/one 
Redirect /cron/two http://your.domain/cron/two 
Redirect /cron/three http://your.domain/cron/three 

這將重新定向的網址,以非SSL VH。

RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} ! /cron/one 
RewriteCond %{REQUEST_URI} ! /cron/two 
RewriteCond %{REQUEST_URI} ! /cron/three 
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]