News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      服务器技术      Rewrite解决问号匹配的写法

Rewrite解决问号匹配的写法

发布日期:2014-05-15 00:00:00 714

一网站要用推荐功能,需要在分享的时候分享静态网址,同时记录分享者的ID信息。只能用GET参数传递。而原来的网页已经使用了伪静态,那么就需要伪静态地址还带上参数,例如

http://www.pi5.com/category-327/id-164.html?u=31

需要映射的地址

goods.php?id=164&u=31

那么伪静态的写法需要这样子

RewriteEngine on
RewriteCond %{QUERY_STRING} ^u=(.+)$
RewriteRule ^/category-([0-9a-zA-Z_]+)/id-([0-9a-zA-Z_-]+)\.html$ /goods\.php\?id=$2&u=%1 [L]
 

参考资料:

把 /abc?id=123  =>  /def.php?id=123 的写法:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=(.+)$
RewriteRule ^/abc$ /def.php?sid=%1 [L]

RewriteRule 不会去匹配 ? 后面的字符串,需要用RewriteCond来匹配
参考:http://lists.apple.com/archives/web-dev/2006/Mar/msg00005.html