apache重写规则

前两天部署一个项目到本机环境,从nginx转到apache,因为不熟悉apache的重写规则,给自己挖了很多坑。。看了很多博客后,终于解决了问题,总结如下。

什么是url重写?

url重写可以把冗长的url地址按我们自定义的规则来简化。比如一个类似 www.test.com?user_id=123&user_ps=abc 的域名,通过url重写,我们直接以 www.test.com/123/abc 的方式来访问。这样是不是简洁多了?这样既可以增强seo,同时也可以处理形如访问url不存在的问题。

启动url重写的步骤如下

1、打开apache/conf目录下的httpd.conf,找到

#LoadModule rewrite_module modules/mod_rewrite.so

将最前面的#去掉

2、找到

<Directory />

AllowOverride NONE

Require all granted

</Directory>

<Directory />

AllowOverride ALL

Require all granted

</Directory>

3、在项目根目录下创建 .htaccess 文件,在该文件中输入(windows下无法直接创建。htaccess文件,可先新建记事本,再另存为)

<IfModulemod_rewrite.c>

Options Indexes FollowSymlinks