我有以下问题已经解决了几十次,但我没有找到任何解决方案。
我正在写一个博客引擎,希望有漂亮的 URL,所以我在其中使用mod_rewrite
Apache .htaccess
。像这样的东西/page/3 => /?s=3
工作得很好,因为我可以在 PHP 脚本中编写漂亮的 URL。但是我有一个用于提交搜索的表单字段method="get"
,所以除了将客户端指向丑陋的 URL 之外,我别无选择。所以我想要的是一种Redirect
客户端,然后Rewrite
是服务器的 URL /?q=foo =client=> /search/foo =server=> /?q=foo
:。(也/?q=foo&s=2
=> /search/2/foo
)
不知怎的,我的规则不起作用,我希望你能帮助我。
RewriteRule ^(index\.php)?\?q=(.*)$ search/$2 [R,L]
RewriteRule ^(index\.php)?\?q=(.*)&s=(.*)$ search/$3/$2 [R,L]
RewriteRule ^search/(\d+)/(.*)/?$ index.php?q=$2&s=$1 [NC,L]
RewriteRule ^search/([^/]*)/?$ index.php?q=$1 [NC,L]