有没有办法重写?search = to / news / in .htaccess?

时间:2011-06-04 00:06:53

标签: php .htaccess url-rewriting

可能不是......但是......

我有办法重写?search=并在/news/中将其设为.htaccess吗?

所以mydomain.com/?search=frogs将是:mydomain.com/news/frogs

2 个答案:

答案 0 :(得分:3)

是的,您需要在.htaccess中设置重写规则,该规则执行HTTP重定向以使浏览器请求新的URL。我建议使用301(永久重定向)响应代码,除非这是临时的,在这种情况下使用302。

RewriteEngine on
RewriteCond %{QUERY_STRING} ^search=(.*)$
RewriteRule ^$ /news/%1? [L,R=301]

应该工作,虽然我还没有测试过。以下是使用查询字符串将URL重定向到没有URL的URL的一些good rundown

测试后

编辑,将RewriteRule的第一个参数从^/$更改为^$。现在应该适用于example.com/?search=foo等网址。

答案 1 :(得分:0)

... simples

RewriteRule ^/news/(.*)$ index.php?search=$1 [NC,L]