.htaccess将带有id param的URL重定向到人性化的URL

时间:2016-09-21 12:03:41

标签: regex .htaccess redirect mod-rewrite rapache

我正在尝试创建一个网址重定向,但到目前为止,我尝试的所有内容都没有显示对该网站的任何影响。我知道ModRewrite已启用,因为还有其他重写。这样做的目的是处理以前版本网站的旧URL。

我想要实现的是使用以下格式重定向URL:
/resources/view?id={id}并将其重定向到/resources/{id}

我一直在尝试使用以下变体:

RewriteRule ^resources/view?id=([0-9+])$ /resources/$1 [R=301,L]

还有这个:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^/resources/view$ /resources/$1? [R=301,L]

干杯。

1 个答案:

答案 0 :(得分:0)

您可以在站点根目录中使用这两个规则.htaccess:

Options -MultiViews
RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /resources/view\?id=(\d+) [NC]
RewriteRule ^ /resources/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^resources/(\d+)/?$ resources/view?id=$1 [L,QSA,NC]