这个mod_rewrite重定向有什么问题?

时间:2009-12-11 16:54:33

标签: mod-rewrite

我有一个简单的重定向,我无法开始工作,我不知道出了什么问题。服务器给我一个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 个答案:

答案 0 :(得分:3)

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

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

否则,您将获得无限递归,因为domain/…也与.*匹配。