代码之家  ›  专栏  ›  技术社区  ›  user3475437

htaccess删除?category_id=xxx编号

  •  1
  • user3475437  · 技术社区  · 11 年前

    我需要你的帮助之后到处检查。因为Google站长工具将它们视为重复的标题和描述。

    我需要从复杂的URL中删除一些参数。

    FROM:
    http://3dstreaming.org/3d-media/videos/7006-avatar-3d-2009-half-sbs-full-hd-1080-dual-hdf-orn.html?category_id=567
    
    TO:
    http://3dstreaming.org/3d-media/videos/7006-avatar-3d-2009-half-sbs-full-hd-1080-dual-hdf-orn.html
    
    
    where "7006-avatar-3d-2009-half-sbs-full-hd-1080-dual-hdf-orn.html"
    7006=variable value
    avatar-3d-2009-half-sbs-full-hd-1080-dual-hdf-orn=variable words
    
    and remove ?category_id=567  ("?category_id=xxxNumbers")
    

    然后对于以下参数也是如此:

    "?start=xxxNumbers"
    
    "?filter_tag=xxxWords"
    
    "?pattern=xxxWords"
    

    有人能帮我吗? 提前感谢

    我试过了,但没用:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^(.+?&)category_id=[^&]*(.*)$
    RewriteRule ^(index\.php)?$ %{REQUEST_URI}?%1%2 [R=301,L]
    
    1 回复  |  直到 11 年前
        1
  •  0
  •   Howli    11 年前

    将以下内容添加到您的htaccess中可以实现您所期望的功能

    RewriteEngine on
    RewriteCond %{THE_REQUEST} \?category_id=   [OR]
    RewriteCond %{THE_REQUEST} \?start=  [OR]
    RewriteCond %{THE_REQUEST} \?filter=  [OR]  
    RewriteCond %{THE_REQUEST} \?pattern=    
    RewriteRule ^  %{REQUEST_URI}?%1 [L,R=301] 
    

    添加以下内容将删除 全部 url中的参数

    RewriteEngine On
    RewriteCond %{THE_REQUEST} \ /([^\?\ ]*)\?
    RewriteRule ^ /%1? [L,R=301]