我的原始文件是一个名为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]
但出了点问题。
请帮我找到解决方案。谢谢。
是的可能但你无法匹配RewriteRule模式中的查询字符串,你需要使用RewriteCond
指令检查%{QUERY_STRING}
类似如下
RewriteEngine On
RewriteCond %{QUERY_STRING} ^q=([^&]+)&page=(.+)$ [NC]
RewriteRule ^all\.html$ /search.php?cid=&type=search&q=%1page=%2 [L]