doucong1992 2015-02-11 08:49
浏览 31
已采纳

如何使用htaccess或其他技术从url中删除多个查询字符串变量

My website has dynamic pages such as

http://www.example.com/detailpage.php?sn=1%20&&%20database=news
http://www.example.com/detailpage.php?sn=1%20&&%20database=article
http://www.example.com/detailpage.php?sn=1%20&&%20database=interview

and many other

I want to remove or hide query string variable from url and display as

http://www.krishisansar.com/detailpage/news/1
http://www.krishisansar.com/detailpage/article/1

Is it possible to change querystring as slash ? if not, how to remove & and make as

/news=1 or /news=2, 
/article=1 or /article=2 .

By this, I can validate from w3c.

  • 写回答

1条回答 默认 最新

  • duanguangsong2380 2015-02-11 09:03
    关注

    You can use this code in your DOCUMENT_ROOT/.htaccess file:

    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{THE_REQUEST} /detailpage\.php\?sn=([^\s&]+)&database=([^\s&]+) [NC]
    RewriteRule ^ detailpage/%2/%1? [R=302,L,NE]
    
    RewriteRule ^detailpage/(\w+)/(\d+)/?$ detailpage.php?sn=$2&database=$1 [L,QSA,NC]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?