首页 文章

htaccess Apache RewriteRule .asp到.php

提问于
浏览
0

我试图在htaccess中使用RewriteRule来永久重定向这个:

http://www.example.com/store/scripts/prodView.asp?idproduct=240

http://www.example.com/index.php?route=product/product&path=59&product_id=50

我试过了:

选项FollowSymlinks RewriteEngine On RewriteCond% ^ idproduct = 240 $ [NC] RewriteRule ^ store / scripts / prodView.asp $ index.php \?route = product / product \&path \ = 59 \&product_id \ = 50? [L,NC,R = 301]

.htaccess在根目录中

任何人都可以建议我可能出错的地方?谢谢

2 回答

  • 0

    试试:

    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
    RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]
    

    在RewriteRule网址中没有 \?

  • 1

    我已经在Croises的帮助下解决了这个问题,虽然我不知道问题的全部原因 .

    在我原来的问题中,为了简洁,相关和清晰,我遗漏了一些RewriteRule代码,它位于我正在编写的代码之上 . 此代码由购物车软件提供 .

    因此,RewriteRule代码的总体如下:

    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    
    #my code start
    RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
    RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]
    #my code end
    

    下面的Croises问题让我想到“为什么我的代码被忽略了?” . 因此,我将我的代码放在购物车'RewriteRule代码上方,现在它可以工作,虽然我不明白为什么其他代码干扰了我的代码 .

    现在的代码是:

    Options +FollowSymlinks
    RewriteEngine On
    
    RewriteBase /
    
    #my code start
    RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
    RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]
    #my code end
    
    #original code
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    #original code
    

    我想我已经回答了我的问题,但在克罗伊斯的帮助下 . 对于遗漏原始问题中的一些重要信息,我深表歉意

相关问题