.htaccess 使用htaccess页面重定向301
我想将/event/path1/{id}/{some_name}重定向到/event/path2/{id} 我想将旧页面重定向到新页面,并删除url的最后一段 我已经完成了,但没有删除url的最后一段,这就是.htaccess.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
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
,我只是忘记了查询字符串