繁体   English   中英

PHP和Apache Mod重写:搜索?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM