Php 有没有重写的方法?search=to/news/in.htaccess?

Php 有没有重写的方法?search=to/news/in.htaccess?,php,.htaccess,url-rewriting,Php,.htaccess,Url Rewriting,可能不是。。但是 我有办法重写?search=并在.htaccess中读取/news/ 因此,mydomain.com/?search=frogs将是:mydomain.com/news/frogs是的,您需要在.htaccess中设置一个重写规则,执行HTTP重定向以使浏览器请求新URL。我建议使用301(永久重定向)响应代码,除非这是临时的,在这种情况下使用302 RewriteEngine on RewriteCond %{QUERY_STRING} ^search=(.*)$ Rewri

可能不是。。但是

我有办法重写
?search=
并在
.htaccess
中读取
/news/


因此,
mydomain.com/?search=frogs
将是:
mydomain.com/news/frogs

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

RewriteEngine on
RewriteCond %{QUERY_STRING} ^search=(.*)$
RewriteRule ^$ /news/%1? [L,R=301]
虽然我还没有测试,但应该可以用。下面是将带有查询字符串的URL重定向到没有查询字符串的URL的一些问题

编辑:测试后,将重写规则的第一个参数从
^/$
更改为
^$
。现在应该可以用于URL,如
example.com/?search=foo

简单化

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