2012-02-22 56 views
0

我试图建立一个mod_rewrite的,将允许以下重定向:??使用mod_rewrite转换/ APP = XYZ和行动= ASDF&PARAMS = 123/XYZ/ASDF PARAMS = 123

  1. 我的 - 域/登录=>
    我的域/?动作=登录

  2. 我的域/登录?参数1 = XYZ &参数2 = ASDF =>
    我的域/?动作=登录&参数1 = XYZ &参数2 = asdf

  3. 我的域/ MYAPP /登录=>
    我的域/?APP = MYAPP &动作=登录

  4. 我的域/ MYAPP /登录资讯?参数1 = XYZ & param2的= ASDF =>
    我的域?/ APP = MYAPP &动作=登录& PARAMS = XYZ &参数2 = ASDF

到目前为止,我有我的.htaccess文件:

RewriteEngine On 
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [L] 

这似乎对于方案3和4但它无法工作,通过在场景1中的$ _GET [“行动”]值,我的剧本和2

编辑:改变htaccess来:

RewriteEngine On 
RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA] 
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA] 

这似乎工作。

+1

参见['QSA'标志](http://httpd.apache.org/docs/current/rewrite /flags.html#flag_qsa)。 – hakre 2012-02-22 00:17:28

+0

这已被多次询问 - > http://stackoverflow.com/search?q=user%3A31039+rewrite – 2012-03-15 21:06:06

回答

0

问题如上述回答:

编辑:更改htaccess来:

RewriteEngine On 
    RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA] 
    RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA]