使用.htaccess来重写地址使得所有请求都经过某个文件
起源
最近在写UUMS(通用用户管理程序)的时候想要让所有请求都经过同一个文件,譬如route.php,起到预处理请求的作用。查了一下资料把带地址的请求(即//example.com/UUMS/auth/login之类的)给用mod_rewrite写好了,但是当直接访问//example.com/UUMS/时却会出404错误,表示压根就没被重写。后来突然想到能不能通过改默认页面来进行重写,结果发现成功了。地址重写能够预处理请求,也能编写一个自己的简单框架。发上来分享一下。
代码
(放进程序根目录的.htaccess文件中,需要Apache服务器才能重写)
#不带地址的重写 DirectoryIndex route.php?address= #带地址的重写 RewriteEngine on RewriteBase /UUMS/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ route.php?address=$1 [QSA,L]
本文所有内容都是原创的,遵守CC BY-NC-SA 4.0协议,版权归IX Network Studio所有。转载务必注明出处。
欢迎提出对本文的建议以及意见。欢迎关注我的博客,获取最新的服务器评测以及技巧教程!