Mod rewrite 重写规则不';I don’我没想到会这样
我想要以下url:Mod rewrite 重写规则不';I don’我没想到会这样,mod-rewrite,Mod Rewrite,我想要以下url: http://www.mydomain.com/search/string 去 http://www.mydomain.com/dir/search.php?param=string 这是我的重写规则: RewriteRule^search/(string)$/dir/search.php?param=$1[NC,L] 让我抓狂的是它有点起作用。结果页面中的所有链接在a元素中都有“dir”。例如,我将鼠标悬停在显示 http://www.mydomain.com/search
http://www.mydomain.com/search/string
去
http://www.mydomain.com/dir/search.php?param=string
这是我的重写规则:
RewriteRule^search/(string)$/dir/search.php?param=$1[NC,L]
让我抓狂的是它有点起作用。结果页面中的所有链接在a
元素中都有“dir”。例如,我将鼠标悬停在显示
http://www.mydomain.com/search/myawesomescript.php
在状态栏中。正确的URL是
http://www.mydomain.com/myawesomescript.php
.htaccess文件位于根目录下。为什么“搜索”会插入到重写中?我不明白的是什么?您的重写规则告诉apache,如果请求进入搜索/(字符串),它们应该由/dir/search.php处理,但它不会改变显示的URL 您所说的将通过以下方式实现:
RewriteRule .* /dir/search.php?param=$1 [NC,L]
请记住,这个wold将一切重定向到search.php,因此您需要修改正则表达式或使用一些重写cond
规则来限制范围