通过.htaccess文件可以对访问的地址进行重写,通过写规则可以达到想要的目的,比如伪静态处理等。
最近在捕获微信平台推送事件时遇到了这样的问题,事件接受地址是对应每个appid的目录,
管理很多个小程序或者公众号不可能每个都生成一个对应的appid文件夹,然后在里面写逻辑,因为这样成本有点大,
自动化创建又需要权限开放,有一定风险。那么重写路径方式就很有用了。
思路:当事件推送来时发现目标路径不存在则重写到指定路径以便实现目的,这样不管是哪个应用的事件都可以独立处理。
下面直接把访问的应用appid目录上一级(假如是“event”)做重定向【因为不存在任何appid的目录】,将所有请求转到“event/index.php”。
编辑.htaccess文件,写入规则如下:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,PT,L]
注意问题:apache开启重写扩展,可以通过phpinfo查看