【问题标题】:Redirecting using regular expression in .htacces在 .htaccess 中使用正则表达式进行重定向
【发布时间】:2019-08-20 14:31:43
【问题描述】:

我必须重定向网址,例如 www.site.com/?page=user?id=5 类似于 www.site.com/users/5

我写了这个正则表达式 .*\?page=(.*)&id=(.*) 但是好像不行?

完整的重定向规则:

Redirect 302 ^/.*index.php\?page=(.*)&id=(.*) /$1/$2

【问题讨论】:

    标签: regex .htaccess redirect url-rewriting


    【解决方案1】:

    Redirect 指令仅适用于 URL 路径,即 /index.php ? 之后的部分是 QUERY_STRING 的一部分,并且无法使用重定向进行匹配,您需要使用 mod-rewrite

    RewriteEngine on
    
    RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=(.+)$ [NC]
    RewriteRule ^index\.php$ /%1/%2? [L,R]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 2014-12-05
      相关资源
      最近更新 更多