重写规则然后重定向

时间:2015-12-23 22:39:50

标签: php .htaccess mod-rewrite

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

http://example.net/?r=123

到这个

http://example.net/ref/123

在我的.htaccess中,这是使用此代码

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

但我想添加另一个重写规则。链接是这样的:

http://example.net/?r=123

我想将其重定向到:

http://example.net/

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

RedirectMatch "^/?r=([^/.]+)" "/index.php"

请帮忙。任何帮助将非常感谢。非常感谢你。

1 个答案:

答案 0 :(得分:0)

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

RewriteEngine on

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

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

如果您仍想将查询字符串重定向到index.php,请尝试使用此规则

RewriteEngine on

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

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