我在从旧的asp网站重定向几页到我的新php网站时突破了我的头脑。
例如,我想将以下2页从我的asp网站永久重定向到我的php网站
要
http://www.mywebsite.com/index.php?route=product/category&path=10_11
其中11应该是新旧网站之间的链接,以显示正确的页面。
2)shopexd.asp?id = 3903& prod = food& vrnt = green& mrk = studio& cat = 11
TO
?的index.php路线=产品/产品&安培;路径= 10_11&安培; PRODUCT_ID = 3903
其中数字11是类别的旧网址和新网址之间的链接,数字3903是产品编号的链接
我的htaccess页面中有第一个重定向的以下重写规则,但似乎没有被触发。怎么了?请帮忙。
RewriteCond %{REQUEST_URI} ^/shopdisplayproducts\.asp\?id=([0-9]+).*$ [NC]
RewriteRule ^shopdisplayproducts\.asp\?id=([0-9]+).*$ index.php?route=product/category&path=10_$1 [R=301,L]
我也尝试过:
RewriteCond %{REQUEST_URI} ^shopdisplayproducts\.asp\?id=([0-9]+).*$ [NC]
RewriteRule ^shopdisplayproducts\.asp\?id=([0-9]+).*$ index.php?route=product/category&path=10_$1 [R=301,L]
感谢您的帮助 Sabko
答案 0 :(得分:0)
您需要在规则条件中使用QUERY_STRING
变量:
RewriteEngine On
# /shopexd.asp?id=3903&prod=food&vrnt=green&mrk=studio&cat=11 to
# /index.php?route=product/product&path=10_11&product_id=3903
RewriteCond %{QUERY_STRING} ^id=(\d+)&.*&cat=(\d+) [NC]
RewriteRule ^shopexd\.asp$ /index.php?route=product/category&path=10_%2&product_id=%1 [R=301,NC,L]
RewriteCond %{QUERY_STRING} ^id=(\d+) [NC]
RewriteRule ^shopdisplayproducts\.asp$ /index.php?route=product/category&path=10_%1 [R=301,NC,L]