2011-08-21 126 views
0

如果该文件夹包含2个字母(例如:zz),则执行文件(foofile)而不重定向到它。 foofile的文本输出将在浏览器上显示。.htaccess RewriteRule without Redirect

 
URI accessed by browser:http://www.mysite.com/zz/folder1/file1 
File to be executed: http://www.mysite.com/foofile?var1=zz&var2=/folder1/file1 

这是行不通的,因为浏览器显示404(未找到)错误:

RewriteCond %{REQUEST_URI} ^/../.*$ 
RewriteRule ^/(..)(/.*)$ /foofile?var1=$1&var2=$2 

回答

1

尝试删除您RewriteRule前斜线:

RewriteRule ^(..)(/.*)$ foofile?var1=$1&var2=$2 

而且你RewriteCond是没有必要的。

0

试试这个:

RewriteEngine On 
RewriteRule ^/(..)(/.*)$ /foofile?var1=$1&var2=$2 

并检查Apache的错误日志

你不需要RewriteCond,因为RewriteRule已经检查URL是否匹配。