如何通过允许mod_rewrite作为查询字符串和页码来进行.htaccess搜索?

问题描述 投票:0回答:1

我的原始文件是一个名为search.php的PHP页面。

通常,搜索功能将是:

mydomain.com/search.php cid=&type=search&q=keyword+text&page=2

但是,是否可以将其重写为mydomain.com/all.html?q=keyword+text&page=[1-anypage]

我试着把这段代码放到.htaccess中:

RewriteRule ^all.html?q=([^.*]+)&p=([0-9]+)$ search.php?cid=&type=search&q=$1&p=$2 [L]

但出了点问题。

请帮我找到解决方案。谢谢。

php .htaccess search mod-rewrite
1个回答
1
投票

是的可能但你无法匹配RewriteRule模式中的查询字符串,你需要使用RewriteCond指令检查%{QUERY_STRING}类似如下

RewriteEngine On

RewriteCond %{QUERY_STRING} ^q=([^&]+)&page=(.+)$ [NC]
RewriteRule ^all\.html$ /search.php?cid=&type=search&q=%1page=%2 [L]
© www.soinside.com 2019 - 2024. All rights reserved.