htaccess重写查询字符串

时间:2009-08-05 03:41:41

标签: .htaccess

好的,我在这方面很新,我真的很感激一些帮助,谢谢!

我怎样才能正确地重写.htaccess?

所以我的网址中有一个查询字符串:

 /?url=contact

我想要做的就是删除查询字符串

 /contact

帮助?我搜索谷歌,我现在正在学习语法,但事实仍然是......我不知道该怎么做。感谢所有

3 个答案:

答案 0 :(得分:30)

这是我的解决方案:

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

答案 1 :(得分:27)

试试这个:

RewriteEngine On
RewriteRule ^(.*)$ /index.php?url=$1 [L]

对于您网站上的用户,他们会看到并导航到这个:

http://example.com/contact

但真正的页面会是这样的:

http://example.com/index.php?url=contact

这个位[L]告诉服务器这是重写规则的最后一行并停止。

答案 2 :(得分:18)

RewriteCond %{QUERY_STRING} url=(.*)
RewriteRule index.html  %1

(或者如果它不是index.html,index.php,等等)

你需要捕获查询字符串,它通常不会被RewriteRule查看,并使用%1后引用,而不是像RewriteRule中的捕获那样使用$ 1