使用.htaccess将动态网址从旧网址重定向到新网址

时间:2019-12-14 08:23:49

标签: .htaccess codeigniter redirect

我想使用redirect从旧网址到新网址的dynamic url下面两个.htaccess,并且我已经使用codeigniter完成了此应用程序。

1)。这是动态网址,我的数据库中有成千上万个网址。

旧(来自)URL

https://www.example.com/area-name/pangothe-263001

新(收件人)URL

https://www.example.com/pangothe-263001

2)。这是上述网址的amp版本。

旧(来自)URL

https://www.example.com/amp-area-name/pangothe-263001

新(收件人)URL

https://www.example.com/pangothe-263001/amp

我尝试使用以下代码

RewriteRule ^area-name$ http://www.example.com/area-name [R=301,L]
RewriteRule ^amp-area-name$ http://www.example.com/amp-area-name [R=301,L]

但不能重定向到新的URL。如何使用.htaccess进行重定向。

3 个答案:

答案 0 :(得分:1)

保留这2条重定向规则位于RewriteEngine行下方

RewriteEngine On

RewriteRule ^area-name/(.+)$ /$1 [R=301,L,NC,NE]

RewriteRule ^amp-area-name/(.+)$ /$1/amp [R=301,L,NC,NE]

# remaining rules go below this

答案 1 :(得分:0)

尝试一下

RewriteRule ^area-name/pangothe-263001/?$ $1/pangothe-263001$2 [R=301,L]

答案 2 :(得分:0)

尝试以下规则,

规范链接重定向

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/area-name/(.*)$

AMP链接重定向

RewriteRule ^ https://www.example.com/%1 [R=301]
RewriteCond %{REQUEST_URI} ^/amp-area-name/(.*)$
RewriteRule ^ https://www.example.com/%1/amp [R=301]