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

如何更改子文件夹中的多个参数

  •  1
  • Dipak  · 技术社区  · 6 年前

    如果querystring有多个参数,如何重定向和更改子文件夹中的最后一个参数。如果只有一个参数删除子文件夹?我只能重定向一个,但是当我尝试两个参数时,它会变得混乱。

    localhost/mynews/category.php?cat=news
    localhost/mynews/category.php?cat=news&subcat=9
    

    localhost/mynews/news
    localhost/mynews/news/9
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   anubhava    6 年前

    您可以在 mynews/.htaccess 以下内容:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /mynews/
    
    # external redirect from actual URL to pretty one
    RewriteCond %{THE_REQUEST} /category\.php\?cat=([\w-]+)&subcat=([\w-]+)\s [NC]
    RewriteRule ^ %1/%2? [R=301,L]
    
    RewriteCond %{THE_REQUEST} /category\.php\?cat=([\w-]+)\s [NC]
    RewriteRule ^ %1? [R=301,L]
    
    # internal forward from pretty URL to actual one
    RewriteRule ^([\w-]+)/([\w-]+)/?$ category.php?cat=$1&subcat=$2 [L,QSA,NC]
    
    RewriteRule ^([\w-]+)/?$ category.php?cat=$1 [L,QSA,NC]
    
        2
  •  0
  •   alex55132    6 年前

    如果您想这样做,可以在.htaccess中执行以下操作:

    Rewriterule ^mynews/(.+)/(.+)$ category.php?cat=$1&subcat=$2
    

    在哪里 (.+) 表示后面的每个值 $ .