http://localhost/file/m.php/86/273X
http://localhost/file/m/86/273X.phpRewriteRule ^file/([^/]+)\.php/(.+)$ file/$1/$2.php

解决方案 »

  1. 回复人:sandyuk(白日做梦) ( 一星(中级)) 信誉:101
    不行,那么实践这样的是不是简单点?
    http://localhost/file/m.php?id=86&model=273X
    http://localhost/file/m/86/273X.phpRewriteEngine on
    RewriteBase /
    RewriteRule ????????????
      

  2. http://localhost/file/m.php?id=86&model=273X
    http://localhost/file/m/86/273X.phpRewriteRule ^file/([^/]+)\.php/\?id=([0-9]+)&model=(.+)$ file/$1/$2/$3.php
      

  3. 以上是没测试过的,但道理是一样和你使用preg_replace差不多的
      

  4. 测试了一下
    RewriteRule ^/file/([^/]+)\.php/(.+)$ file/$1/$2.php [L]
    通过
    http://localhost/file/m.php/86/273X
    =>
    http://localhost/file/m/86/273X.php第二种
    http://localhost/file/m.php?id=86&model=273X
    http://localhost/file/m/86/273X.php
    可以直接用PHP实现:header("location: m/$id/$model.php")
      

  5. 可以开启日志来调试
      RewriteLog logs/rewrite.log
      RewriteLogLevel 9
      

类似问题 »