用于url重写的正则表达式,但将源URL保留在地址栏中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于url重写的正则表达式,但将源URL保留在地址栏中相关的知识,希望对你有一定的参考价值。
我需要重写一个网址。
来源: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。怎么做?
答案
这应该做的伎俩:
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
以上是关于用于url重写的正则表达式,但将源URL保留在地址栏中的主要内容,如果未能解决你的问题,请参考以下文章