2011-03-24 83 views
1

感谢您花时间帮忙!mod_rewrite漂亮的网址,可能仍然有查询字符串

该场景是我mod_rewrite使像foobar.com/foo/bar/漂亮的URL像丑陋的像foobar.com/bootstrap.php?url=foo/bar这个奇妙的作品。

RewriteRule ^([a-z0-9/_]+)$ library/bootstrap.php?url=$1 [L] 

在某些情况下(特别是Twitter的OAuth回调)漂亮的URL将追加到它像foobar.com/foo/bar/?foo=bar&bar=foo查询字符串。我需要丑陋的输出网址看起来像foobar.com/bootstrap.php?url=foo/bar&foo=bar&bar=foo

请帮忙,因为我不知道该怎么做!我当然会看,因为我确定一些正则表达式资源会揭示一些线索。

如果能拿出一个答案,请解释一下,这样我下次就能明白了!

谢谢!

回答

2

尝试

RewriteRule ^([a-z0-9/_]+)$ library/bootstrap.php?url=$1 [L,QSA] 

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

+0

QSA的查询字符串附加 - “此标记强制重写引擎替换字符串的查询字符串部分追加而不是替换现有的字符串,当你想通过重写规则向查询字符串添加更多数据时使用它。“ – 2011-03-24 12:05:19

+0

呐喊!谢谢!我打算使用'...?url = ...%{QUUERY_STRING}',但是你的答案更干净,效果更好! – 2011-03-24 12:05:27