简体   繁体   English

.htaccess没有重定向的RewriteRule

[英].htaccess RewriteRule without Redirect

If the folder contains 2 letters (example: zz) then execute file (foofile) without redirecting to it. 如果文件夹包含2个字母(例如:zz),则执行文件(foofile)而不重定向到该文件。 foofile's text output is to be shown on the browser. foofile的文本输出将显示在浏览器中。

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

This is not working since the browser shows a 404 (not found) error: 由于浏览器显示404(未找到)错误,因此无法正常工作:

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

Try to remove preceding slashes in your RewriteRule : 尝试在RewriteRule删除前面的斜杠:

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

And your RewriteCond isn't necessary. 而且您的RewriteCond是不必要的。

Try this: 尝试这个:

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

And check apache's error log 并检查apache的错误日志

You don't need RewriteCond, as the RewriteRule already checks if the URL matches. 您不需要RewriteCond,因为RewriteRule已经检查了URL是否匹配。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM