Mod rewrite 将子文件夹重定向到另一个查询字符串

Mod rewrite 将子文件夹重定向到另一个查询字符串,mod-rewrite,query-string,Mod Rewrite,Query String,在ApacheWebServer上,我想创建一个类型化URL文件夹来匹配另一个文件夹,并将URL字符串的结尾转换为匹配文件夹的查询字符串 键入的URL可以是: http://www.website.net/corp/view/folder1/folder2 最终的浏览页面将在内部显示: http://www.website.net/corp/files/?dir=folder1/folder2 我在httpd.conf中尝试了以下规则: RewriteRule^/corp/view/(.*)/c

在ApacheWebServer上,我想创建一个类型化URL文件夹来匹配另一个文件夹,并将URL字符串的结尾转换为匹配文件夹的查询字符串

键入的URL可以是:
http://www.website.net/corp/view/folder1/folder2

最终的浏览页面将在内部显示:
http://www.website.net/corp/files/?dir=folder1/folder2

我在httpd.conf中尝试了以下规则:
RewriteRule^/corp/view/(.*)/corp/files/?dir=$1[L]
,我得到一个无限循环,URL是自重定向的


谢谢您的帮助。

使用
+
而不是
*

RewriteRule ^/corp/view/(.+) /corp/files/?dir=$1 [L]

*
导致无限递归,因为它还匹配
/corp/files/

末尾的空字符串。我尝试了你的建议,但它不起作用
+
*
具有相同的效果,我刚刚发现了它的作用:通过IE9中的F12工具,我可以看到
/corp/view/folder1
被重定向到
/corp/view/folder1/index.php/?dir=folder1
,重定向到
/corp/view/folder1/index.php/index.php?dir=folder1/index.php
,等等。@Velcro:噢,对不起,我以为你在重写同一个目录。那么,有没有其他规则可能与此冲突?我有其他规则,但没有人具有这种模式(我检查过)。顺便说一句,我尝试放置一个[R]标志,重定向是正常的。然而,我想得到一个内部重定向,也就是URL重写…@Velcro:但我仍然认为这是另一个同样适用的规则。@Gumbo:你是对的。多亏了RewriteLog,我发现将不需要的查询(如无效的主机HTTP头)重定向到特定文件夹的是我的另一条规则。我失去了我的一天和你的时间,对不起。。。