2010-12-15 128 views
0

我有兩臺虛擬主機設置爲服務器上的同一目錄。一個監聽80端口,另一個在443SSL重寫重定向apache2

我有3個文件

index.html 
secure.html 
view.html 

每個文件都有一個菜單:

<ul> 
<li><a href="index.html">Index</a></li> 
<li><a href="secure.html">secure</a></li> 
<li><a href="view.html">view</a></li> 
</ul> 

我想設置重定向,以使其符合這些條件:

http://localhost/secure.html - 去https://localhost/secure.html

http://localhost/index.html - 去http://localhost/index.html

http://localhost/view.html - 去http://localhost/view.html

https://localhost/index.html - 去http://localhost/index.html

https://localhost/view.html - 去http://localhost/view.html

,當我在
https://localhost/secure.html和我點擊

指數帶我到http://localhost/index.html

查看帶我到http://localhost/view.html

我怎麼能做到這一點?

我知道我必須把這些在.htaccess文件,但我不知道如何定義這些confitions,

+0

屬於[serverfault](http://serverfault.com/)。 – 2010-12-16 01:30:26

回答

1

嘗試這兩個規則:

RewriteCond %{HTTPS} !=on 
RewriteRule ^/secure\.html$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTPS} =on 
RewriteRule !^/secure\.html$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

如果你有比這多單文件,只需擴展^/(secure\.html|…)$這樣的模式即可。