Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 重写规则不';I don’我没想到会这样_Mod Rewrite - Fatal编程技术网

Mod rewrite 重写规则不';I don’我没想到会这样

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

我想要以下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/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
规则来限制范围