首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写规则,然后重定向

重写规则,然后重定向
EN

Stack Overflow用户
提问于 2015-12-24 06:39:50
回答 1查看 47关注 0票数 1

您好,我正在尝试重写我的网址

代码语言:javascript
复制
http://example.net/?r=123

到这一个

代码语言:javascript
复制
http://example.net/ref/123

在我的.htaccess中,使用下面的代码就可以了

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^ref/([^/.]+)/?$ /index.php?r=$1 [R=301]

但我想添加另一个重写规则。当链接像这样时:

代码语言:javascript
复制
http://example.net/?r=123

我想将其重定向到:

代码语言:javascript
复制
http://example.net/

我尝试了这个重写规则,但它不起作用:

代码语言:javascript
复制
RedirectMatch "^/?r=([^/.]+)" "/index.php"

请帮帮忙。任何帮助都将不胜感激。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-12-24 06:50:17

尝试使用这些规则将查询字符串URL重定向到更常见的漂亮URL。基本上将旧的网址重定向到SEO友好的网址。

代码语言:javascript
复制
RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\ /+\?r=([^&\s]+)\
RewriteRule ^ /ref/%1? [R=302,L]

RewriteRule ^ref/([^/.]+)/?$ /index.php?r=$1 [R=301]

如果您仍然希望将查询字符串重定向到index.php,请尝试以下规则

代码语言:javascript
复制
RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\ /+\?r=([^&\s]+)\
RewriteRule ^ /index.php [R=302,L]

RewriteRule ^ref/([^/.]+)/?$ /index.php?r=$1 [R=301]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34444814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档