用于url重写的正则表达式,但将源URL保留在地址栏中

问题描述 投票:0回答:1

我需要重写一个网址。

来源:domain / event-detail / sport / event /?event = 171990

目标:domain / event-detail /?event = 171990

但源URL应显示在地址栏中。

我想到了类似的东西:

if url contains "event-details" and /*/*/?event=XX (/event-details/*/*) -> /event-detail/?event=XX

然后是重写规则来显示源URL。怎么做?

regex mod-rewrite url-rewriting
1个回答
1
投票

这应该做的伎俩:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/event-detail/.+/.+/$
RewriteCond %{QUERY_STRING} ^event=\d+$
RewriteRule (.*) http://www.example.com/event-detail/? [R=301,L]

按照您的逻辑,捕获包含event-detail/.+/.+/并具有event=\d+等查询参数的URI

© www.soinside.com 2019 - 2024. All rights reserved.