【问题标题】:rewrite rule htaccess - how to get back query sting for usagerewriterule htaccess - 如何取回查询字符串以供使用
【发布时间】:2011-05-24 10:08:19
【问题描述】:

有没有办法在 PHP 中取回查询字符串?

我有: http://mywebsite.com/cars/BMW/http://mywebsite.com/List.php?categories=/cars/BMW/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /List.php?categories=$1 [L]

我想在 PHP 中捕获类别值。请注意参数格式'/cars/BMW/'

【问题讨论】:

    标签: php apache rewrite


    【解决方案1】:

    您可以像以前一样访问该值,因此您只需执行此操作即可获取汽车值。

    echo $_GET['categories'];

    应该回显

    /cars/BMW

    【讨论】:

      【解决方案2】:

      您可以尝试以下方法:

      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{QUERY_STRING} ^categories=(.*)
      RewriteRule .* /List.php?categories=$1 [L]
      

      这将捕获查询字符串中类别之后的任何内容并将其应用到规则中。

      【讨论】:

        【解决方案3】:

        在 PHP 中,通过$_GET['categories'] 访问它,并使用explode() 函数将/ 上的部分分开:

        if (isset($_GET['categories']))
        {
          $parts = explode("/", $_GET['categories']);
          $vehicle_type = $parts[0];
          $vehicle_make = $parts[1];
        
          echo $vehicle_type . " ";
          echo $vehicle_make;
        }
        

        【讨论】:

          猜你喜欢
          • 2018-07-25
          • 2019-01-02
          • 2020-11-06
          • 2013-12-21
          • 2014-08-01
          • 1970-01-01
          • 2013-08-18
          • 1970-01-01
          • 2015-05-27
          相关资源
          最近更新 更多