htaccess重定向导致循环

时间:2013-09-12 05:00:47

标签: apache .htaccess redirect mod-rewrite

我想

  1. redirect domain.com - > www.domain.com
  2. 重定向www.domain.com - > www.domain.com/folder
  3. 重定向www.domain.com/folder - > www.domain.com/folder
  4. 重定向www.domain.com/folder2 - > www.domain.com/folder2
  5. 使用htaccess重定向。

    但我只能编写www part

    的代码
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.com[nc]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
    

    任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

我会为每个文件夹创建一个文件,看起来像这样。

domain.com root .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^/?$ http://www.domain.com [R=301,NC,L]

www.domain.com root .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^/?$ http://www.domain.com/folder [R=301,NC,L]

文件夹.htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^/?folder$ http://www.domain.com/folder1 [R=301,NC,L]

我想你明白了。由于我自己从未这样做过,所以我不能100%确定它是否会在重定向完成后停止处理.htaccess文件。如果不是,您肯定会在folder2结束。

编辑:添加了L,因为我在第一个版本中错过了它。自从我完全错过了第一个重定向步骤后,我做了一些更改。我认为这个想法仍然很明确。 :)