APACHE REWRITE ? 匹配问号的写法

Posted 防空洞123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APACHE REWRITE ? 匹配问号的写法相关的知识,希望对你有一定的参考价值。

 RewriteRule 不会去匹配 ? 后面的字符串,需要用RewriteCond来匹配

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

 
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=(.+)$
RewriteRule ^/abc$ /def.php?sid=%1 [L]
 
#启用重写后,避免静态资源访问出错  
    RewriteCond %{REQUEST_FILENAME} !-f  
    RewriteCond %{REQUEST_URI} !^/css  
    RewriteCond %{REQUEST_URI} !^/js  
    RewriteCond %{REQUEST_URI} !^/images  
    RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.xml)  
    #解决重写后接不到问号后面的参数  
    RewriteCond %{QUERY_STRING} ^(.*)$  
    #RewriteRule ^(\w+)\-(\w+)\.html index.php?c=$1&a=$2%1 [L,QSA]  
    #把URL中的index.php省略掉  
    RewriteRule  ^/(.*)  /index.php?$1 [L,QSA]  
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^userd-([0-9]+)-boardlist.html$ pyquan.php?action=boardlist&uid=$1&%1 [L]

http://localhost:8084/userd-1-boardlist.html?page=2

array (size=3)
  ‘action‘ => ‘boardlist‘ (length=9)
  ‘uid‘ => ‘1‘ (length=1)
  ‘page‘ => ‘2‘ (length=1)

以上是关于APACHE REWRITE ? 匹配问号的写法的主要内容,如果未能解决你的问题,请参考以下文章

在 mod_rewrite 规则正则表达式中匹配问号

mod_rewrite 带问号和 & 符号(使用 PHP)

nginx location配置和rewrite写法

nginx配置location总结及rewrite规则写法

nginx配置location总结及rewrite规则写法

nginx配置location总结及rewrite规则写法