使用mod_rewrite重定向使用不同的get变量

时间:2010-07-29 16:06:52

标签: mod-rewrite redirect

使用mod_rewrite,我如何获取这些网址:

www.example.com/?foo=hello

www.example.com/?foo=world

并将它们重定向到以下网址:

www.example.com/hello /

www.example.com/world /

由于

1 个答案:

答案 0 :(得分:3)

你应该做的是与此相反。您使网站上的所有网址链接看起来都像'漂亮'版本(但不更改任何其他功能),然后您使用mod_rewrite制作模式,以匹配“漂亮”网址的请求并显示相应的“丑陋”网址。链接的一个非常简单的例子......

RewriteEngine On
RewriteEngine ^([^/]+)/?$ /index.php?foo=$1

<强>更新

您可以使用...

以相反的方向重定向
RewriteEngine On
RewriteCond %{QUERY_STRING} ^foo=(.*)
RewriteRule ^index.php$ /%1/ [R=302]

一旦你开心它正在工作,你可以将302更改为301以进行永久重定向。如果将此与上面的示例结合使用,虽然您将获得500内部服务器错误,因为您将创建重定向循环。