如何301将旧动态网址重定向到.htaccess中相关的新动态网址

时间:2016-03-31 13:14:48

标签: php apache .htaccess redirect mod-rewrite

旧网址结构:http://www.statebankofindiaifsccode.com/state-bank-of-india-sbi-ifsc-code/assam

在此文件夹/ state-bank-of-india-sbi-ifsc-code /

之后的上方网址中

值是动态的,就像它们是动态生成的状态一样。

新网址结构:http://www.statebankofindiaifsccode.com/state-bank-of-india/assam

对于上面所有具有不同状态的动态网址,我希望它们重定向到新的网址结构,如上所示。

我目前的htaccess代码:

RewriteRule ^([a-zA-Z0-9_-]+)-sbi-ifsc-code/([a-zA-Z0-9_-]+)$ /bankdetails-state.php?bankfromhtac=$1&statefromhtac=$2

RewriteRule ^([a-zA-Z0-9_-]+)-sbi-ifsc-code/([a-zA-Z0-9_-]+)/$ /bankdetails-state.php?bankfromhtac=$1&statefromhtac=$2

请帮助我,我尝试使用,Redirect 301,RedirectMatch等多种组合。

但对我来说没有任何作用。我检查了其他相关问题,但没有找到类似的模式重定向。

请仅使用.htaccess建议301重定向,因为它对SEO很有用。

1 个答案:

答案 0 :(得分:1)

用以下规则替换您的规则:

RewriteEngine On

# old URL to new URL redirect
RewriteRule ^([\w-]+)-sbi-ifsc-code/([\w-]+)/?$ /$1/$2 [L,NC,NE,R=302]

# internal handler for new URI scheme
RewriteRule ^(state-bank-of-india)/([\w-]+)/?$ bankdetails-state.php?bankfromhtac=$1&statefromhtac=$2 [L,QSA,NC]