Htaccess重定向https和http以及自定义网址

时间:2013-11-06 18:34:02

标签: regex apache .htaccess mod-rewrite https

我是htaccess的新手,即使我得到了自定义网址的部分,我也无法弄清楚https重定向与自定义网址的结合。我在网上找到的所有选项都给了我一个重定向循环。

所以,假设我有一个名为mysite.com/hello.php的页面和另一个名为mysite.com/bye.php的页面。

我希望mysite.com/hello.php成为mysite.com/one-hello,并希望bye.php成为mysite.com/two-bye。这就是我现在在htaccess中拥有它的方式:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^one-hello$ hello.php
RewriteRule ^two-bye$ bye.php

但现在我希望hello.php始终显示为https但bye.php始终显示为http。我怎么能写出所有这些?

谢谢!

1 个答案:

答案 0 :(得分:2)

你的规则如下:

RewriteRule ^one-hello$ hello.php [L]
RewriteRule ^two-bye$ bye.php [L]

RewriteCond %{HTTPS} off
RewriteRule ^hello\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [L,NC,R]

RewriteCond %{HTTPS} on
RewriteRule ^bye\.php$ http://%{HTTP_HOST}%{REQUEST_URI} [L,NC,R]