2009-08-05 137 views
14

好吧,我很新的在这个,我真的很感谢一些帮助,谢谢!htaccess重写查询字符串

如何正确地在.htaccess中重写?

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

/?url=contact 

所有我想要做的是去除查询字符串

/contact 

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

+1

应重新打开。这是与编程有关的问题(尽管它没有显示很多努力),我希望看到比这里更好的答案。 – Andrew 2017-01-05 18:15:45

回答

22

这是我的解决方案:

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

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

(或什么,如果它不是的index.html,index.php文件,等等)

您需要捕获的查询字符串,这是不通过重写规则看着正常,并使用%1回参考,并不$ 1,你在一个重写规则

24

捕获会尝试这样的:

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

要在您的网站的用户,他们会看到并导航到这一点:

http://example.com/contact 

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

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

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