Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Apache 这个重定向匹配表达式有什么问题?_Apache_.htaccess_Redirect - Fatal编程技术网

Apache 这个重定向匹配表达式有什么问题?

Apache 这个重定向匹配表达式有什么问题?,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我正在尝试使用此重定向匹配: RedirectMatch 301 /(.*.p0) /(.*.p1) 替换url中的页面参数。 旧url:http://www.example.com/some-list-c1-p0 新url:http://www.example.com/some-list-c1-p1 怎么了 或者我可以制定一个规则重定向以下类型的URL吗 旧url:http://www.example.com/some-list-c1-p0.html 新url:http://www.exa

我正在尝试使用此重定向匹配:

RedirectMatch 301 /(.*.p0) /(.*.p1) 
替换url中的页面参数。 旧url:
http://www.example.com/some-list-c1-p0
新url:
http://www.example.com/some-list-c1-p1

怎么了

或者我可以制定一个规则重定向以下类型的URL吗

旧url:
http://www.example.com/some-list-c1-p0.html
新url:
http://www.example.com/some-list-c1-p1

我正在使用:

RedirectMatch 301 /(.*.p0)\.html /$1

但是我不能用“p1”代替“p0”

你的替补阵容没有任何对比赛的引用。建议如下示例:

RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"
使用
$1
$2
等引用捕获的匹配项,因此请尝试

RedirectMatch 301 /(.*.)p0 /$1p1 

看看是否效果更好。

我的问题的第二部分有了解决办法

这项工作:

RedirectMatch 301 /(.*.)p0\.html /$1p1

它对url起作用,但在最后添加了参数。像这样,我如何才能从url的末尾删除它(?id=1&page=0)?@nickRO87:如果替换url的结尾位于
,则可能(未经测试)起作用,否则,您可能需要使用,它有一个
QSA
标志来控制是否删除查询参数。不起作用。。如何在mod_rewrite中写入cond?我正在尝试:RewriteCond%{QUERY_STRING}page=0[NC]RewriteRule/(.*)$p0/$1p1[R=301,QSA]不起作用