代码之家  ›  专栏  ›  技术社区  ›  Tatu Ulmanen

这个mod重写重定向有什么问题?

  •  0
  • Tatu Ulmanen  · 技术社区  · 14 年前

    我有一个简单的重定向,我就是不能去工作,我不知道怎么了。服务器向我抛出了一个500内部服务器错误,这是我无法理解的。

    我尝试实现以下目标:如果用户键入地址 www.example.com ,它将实际路由到 domain/ 我的服务器中的子目录。所以如果用户请求 www.example.com/index.htm ,它将从 /var/www/html/domain/index.htm .

    以下是我目前为止的情况:

    RewriteEngine On
    Options +FollowSymlinks
    
    RewriteCond %{SERVER_NAME} =www.example.com
    RewriteRule ^(.*)$ domain/$1 [L]
    

    mod_rewrite被启用并起作用,如下所示 工作:

    RewriteRule ^(.*)$ domain/index.php?$1 [L]
    

    我这里缺什么?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Gumbo    14 年前

    必须排除要重定向到的目标:

    RewriteCond %{SERVER_NAME} =www.example.com
    RewriteCond $1 !^domain/
    RewriteRule ^(.*)$ domain/$1 [L]
    

    否则,您将得到无限递归,因为 domain/… 也与 .* .