强制重定向Htaccess

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

好吧,我需要强制重定向domain.com/article-detail/?slug=this-is-my-articledomain.com/article-detail/this-is-my-article(只需删除?slug=

在这个网站搜索后,我试试

RewriteRule ^article-detail/?slug=(.*)$ article-detail/$1 [NC,R=301,L]

要么

RedirectMatch 301 ^/article-detail/?slug=(.+)$ /article-detail/$1/

但不行

仅供参考:目前,要查看this-is-my-article,用户可以访问domain.com/article-detail/?slug=this-is-my-articledomain.com/article-detail/this-is-my-article

.htaccess redirect
1个回答
0
投票

你应该使用RewriteCondRewriteRule指令。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/article-detail/?$
RewriteCond %{QUERY_STRING} ^slug=([a-z-]+)
RewriteRule ^article-detail /article-detail/%1/ [R=301,L]

第3行:如果请求URI是/article-detail/article-detail/

第4行:如果查询字符串以slug=开头,后跟lower case letters with dash

第5行:将模式article-detail重写为/article-detail/%1%1RewriteCond反向引用,匹配括号内的字符串,并永久重定向。

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