用新系统替换旧系统,这需要创建新的文件和新的url
然而,重要的是旧的url重定向到新的
现在我在本地测试,并设置了两个简单的文件,item.php
和item-newpage.php
以下是我到目前为止所做的尝试:
RewriteEngine on
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ /item.php?size=$1&color=$2
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2
RedirectMatch 301 ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ ^$1-$2-item-newpage/$ [R=301,L]
也试过这个:
RewriteEngine on
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ /item.php?size=$1&color=$2
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ ^$1-$2-item-newpage/$ [R=301,L]
但是还没有重定向
另外,我真的很想删除我的。htaccess文件(即第2行)中对旧文件的引用,并从服务器上删除它们,如果可能的话
@anubhava,将其归结为期望的结果:
www.mysite.com/small-blue-item/
应该301重定向到
www.mysite.com/small-blue-item-newpage/
请记住,/small-blue-item-newpage/
现在是由一个新文件驱动的
您可以使用以下代码:
RewriteEngine on
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/?$ /$1-$2-item-newpage/ [R=301,L]
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2 [L,QSA]