Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
.htaccess 使用htaccess页面重定向301_.htaccess - Fatal编程技术网

.htaccess 使用htaccess页面重定向301

.htaccess 使用htaccess页面重定向301,.htaccess,.htaccess,我想将/event/path1/{id}/{some_name}重定向到/event/path2/{id} 我想将旧页面重定向到新页面,并删除url的最后一段 我已经完成了,但没有删除url的最后一段,这就是.htaccess RewriteRule ^event/path1/(.*) /event/path2/$1 [L,R=301] 您在正则表达式中使用的*匹配了/event/path1/之后的所有内容,从而导致错误的目标URL 您可以使用: RewriteRule ^event/path

我想将/event/path1/{id}/{some_name}重定向到/event/path2/{id}

我想将旧页面重定向到新页面,并删除url的最后一段

我已经完成了,但没有删除url的最后一段,这就是.htaccess

RewriteRule ^event/path1/(.*) /event/path2/$1 [L,R=301]

您在正则表达式中使用的
*
匹配了
/event/path1/
之后的所有内容,从而导致错误的目标URL

您可以使用:

RewriteRule ^event/path1/([^/]+)/[^/]+/?$ /event/path2/$1? [L,R=301,NC]
此处
[^/]+
将匹配1个或多个非斜杠字符


目标末尾的
将删除以前的任何查询字符串。

这解决了我的问题,删除查询字符串怎么样,就像在新页面中有一个查询字符串,但我想删除它,
/event/path2?data=data\u value
所以旧URI是
/event/path1/{id}/{some\u name}
或只是
/event/path1?data=data\u value
?这是我的旧URI
/event/path1/{id}/{some\u name}?data=data\u value
,我只是忘记了查询字符串