我有一个简单的重定向,我无法开始工作,我不知道出了什么问题。服务器给我一个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]
我在这里缺少什么?
答案 0 :(得分:3)
您必须排除要重定向到的目标位置:
RewriteCond %{SERVER_NAME} =www.example.com
RewriteCond $1 !^domain/
RewriteRule ^(.*)$ domain/$1 [L]
否则,您将获得无限递归,因为domain/…
也与.*
匹配。