[英]PHP & Apache Mod rewrite: search?keyword
这些是我通常用于干净网址的重写规则,
RewriteRule ^([a-zA-Z0-9\-]+)/?$ index.php?pg_url=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ index.php?pg_url=$2 [L,QSA]
他们将接受请求的网址,例如,
mysite/home
mysite/portfolio/photograhy
但如何设置重写规则,例如,
mysite/search?photograhy
mysite/search?painting
我在下面尝试了这个
RewriteRule ^search?([a-zA-Z0-9\-]+)/?$ index.php?pg_url=search&keyword=$1[L,QSA]
他们的关键字seach不会正确显示,但是无论我要搜索的是什么,我都会将其显示在下面,
echo $_REQUEST['keyword'];
h[L,QSA] // result
谢谢。
您需要使用RewriteCond作为查询字符串,例如:
RewriteCond %{QUERY_STRING} ^keyword=([a-zA-Z0-9\-]+)$
您需要调整查询以执行?keyword=photography
这是有关此主题的一些阅读材料: http : //wiki.apache.org/httpd/RewriteQueryString
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.