.htaccess重定向没有重定向循环

时间:2015-08-31 18:21:55

标签: php apache .htaccess mod-rewrite redirect

我确定在某个地方有一个答案可以解决这个问题,但是我正在努力解决这个问题。我讨厌与.htaccess重定向有关。

基本上我正在尝试这样做

RewriteRule http://www.domain.com/about/(.*) http://www.domain.com/example/about/$1 [R=301,L].

问题是这会导致重定向循环,因为"关于"在重定向和重定向到url。

要做的就是让它只有在根网址在/ about /之前才会重定向。我确实尝试过这样做:

@if(Model.Condition)
{
    @using (Ajax.BeginForm(...))
    {
        //MyForm
    }
}
else
{
    @using (Html.BeginForm(...))
    {
        //MyForm
    }
}

然而,这没有用。

有没有人有这方面的直接解决方案。

由于

1 个答案:

答案 0 :(得分:1)

此规则应与正则表达式模式中的锚点配合使用:

RewriteRule ^/?(about/.*)$ /example/$1 [R=301,L,NC]

^/?about仅匹配http://www.domain.com/about/,但不匹配http://www.domain.com/example/about/