2010-11-03 159 views
0

我想改写这个URL,它只是似乎并不奏效,我不清楚什么错误.htaccess的URL重写

我希望这个网址:

www.mysite.com/dvd-123/Studio/studio_name.php?thumbs=yes&order=price 

要实际发送于:

www.mysite/cat/list_products.php?studio=123&store=dvd&thumbs=yes&order=price 

这里是我有一个是八九不离十的工作:

RewriteRule ^dvd-([0-9]+)/Studio/(.*)\.php?(.*)$ cat/list_products.php?studio=$1&store=dvd&$3 [L] 

我收到的结果是一样的,如果我想: www.mysite/CAT/list_products.php工作室= 123 &店= DVD 忽略: &大拇指= YES $为了=价格

预先感谢您的帮助!

回答

1

Apache documentation

格局将不会对查询字符串匹配......为了一个新的查询字符串与一个旧相结合,使用[QSA]标志。

我还没有测试过这个,但希望它应该指向正确的方向。

RewriteRule ^dvd-([0-9]+)/Studio/(.*)\.php$ cat/user_list_products.php?Manname=$1&store=dvd [L,QSA] 
+0

我检查出来,QSA标志导致错误500我恨的.htaccess ahaha我从未有过任何学习如何做到这一点的愿望,只是有一个客户请求它。 – BinarySolo00100 2010-11-03 22:24:43

+0

QSA国旗是关键!测试你的正则表达式:rubular.com – malletjo 2010-11-03 22:29:48

+0

我修正了它,不知道如何,我删除了[L],它工作!很明显,我做错了,我后来的规则之一抓住哈哈。非常感谢你! – BinarySolo00100 2010-11-03 23:07:33

0

您需要避开斜杠。

RewriteRule ^dvd-([0-9]+)\/Studio\/(.*)\.php?(.*)$ cat/user_list_products.php?Manname=$1&store=dvd&supersale=$3 [L] 
+0

这不起作用 – BinarySolo00100 2010-11-03 21:53:05