无法正确重定向我的网址

时间:2016-03-31 11:18:50

标签: mod-rewrite

我试图在两个条件下重定向我的网址:

  1. 如果HTTPS已关闭。
  2. 如果网址没有www。
  3. 我可以在两种情况下重定向我的网址,但是当网址格式为https://example.in/xyz时会出现问题,在这种情况下,我希望我的网址重定向到https://www.example.in/xyz,但我无法

    以下是我在默认文件中的配置

    ServerName example.in       
    Redirect permanent / https://example.in/       
    RewriteEngine On    
    RewriteCond %{HTTPS} off       
    RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.in$ [NC]     
    RewriteCond %{HTTP_HOST} !^www. [NC]     
    RewriteRule ^/?(.*) https://www.example.in/$1 [NC,R=301,L]     
    

1 个答案:

答案 0 :(得分:0)

You RewriteRule仅在满足所有条件时才有效。在您的示例中,URL已使用HTTPS,因此不满足第一个条件。

如果您希望规则在满足任何条件的情况下工作,则需要在前两个条件中添加[OR]标志。

RewriteCond %{HTTPS} off       
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.in$ [NC,OR]     
RewriteCond %{HTTP_HOST} !^www. [NC,OR]     
RewriteRule ^/?(.*) https://www.example.in/$1 [NC,R=301,L]