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

时间:2018-03-23 16:19:23

标签: regex mod-rewrite url-rewriting

我需要重写一个网址。

来源: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。怎么做?

1 个答案:

答案 0 :(得分: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