我现在在开发一个小型查询系统,老板要求地址重写:
重写前      重写后
open.php    open?k=XXX&z=xxx...
shop.php    shop?ee=XXX&cc=xxx...
tvsou.php   tvsou?ee=XXX&cc=xxx...
...
我现在写的正则:Options
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^open?(.*)$ open\.php$1 
RewriteRule ^shop?(.*)$ shop\.php$1
...问题:
只对第一个 RewriteRule ^open?(.*)$ open\.php$1  有效,后面的都报错为500错误。
请各位大侠给予帮助。在线等。谢谢。

解决方案 »

  1.   

    写一个就好了,这么写,一条就够用了,
    RewriteRule ^open_?(.*)$ open\.php$1 统一叫open_......就可以了吗?写那么多干嘛啊、open.php    open?k=XXX&z=xxx...
    shop.php    shop?ee=XXX&cc=xxx...
    tvsou.php  tvsou?ee=XXX&cc=xxx... 
      

  2.   

    谢谢一楼的回答,老板的意思是不想出现.php地址的要求,也就是参照百度地址重写!所以写一条不行。
    现在写的几条,就第一条RewriteRule ^open?(.*)$ open\.php$1是有效的。下面的几条全部报500错误。
      

  3.   

    不想出现后缀,是隐藏后缀吗?…这个倒是经常做…RewriteRule ^open$ open.php
    RewriteRule ^shop$ shop.php直接这样就可以了。url参数不影响。