URL重写(Rewrite)是截取传入web请求并自动重定向到其他的URL的过程
URL重写在SEO(search engine optimization)搜索引擎优化是有很大的好处的,可以更好的利于搜索引擎的蜘蛛进行抓取.
重写的好处可以分为三点:
- 利于SEO
- 用户体验
- 给攻击(非DDOS/CC)造成阻碍
要使用Apache的重写模块,要先在httpd.conf中将LoadModule rewrite_module modules/mod_rewrite.so
前的#号去掉(去掉注释.#号是shell风格的注释),Apache默认是不开启rewrite模块的.(开启之后,要重启Apache才能正常使用rewrite模块)
然后在对应网站的配置中设置AllowOverride All,如果此项配置为none,则.htaccess
配置不会生效
在网站根目录中新建一个.htaccess
文件,用于书写重写规则.(windows下是新建不了这个文件的,可以通过编辑器或者命令行中输入echo >.htaccess完成新建)
书写重写规则如下:
#open rewrite
RewriteEngine on
#rewrite index.html to index.php(rewrite rule 伪静态把index.php重写成index.html
RewriteRule index.html index.php
#重写规则 将index.html结尾的网址重写为index.php
RewriteRule index\.html$ index.php [NC]
#NC代表的是大小写不敏感.
RewriteRule test.html$ index.php [NC]
#可以有多条重写规则.
上面的规则是将index.html重写为index.php,访问之前新建一个index.php文件,"<?php echo isset(\(_GET['a'])?\)_GET['a']:'Rewrite Successful'; ?>",此时我们访问网站:
发现是可以成功的将index.html重写为index.php的.[#祝贺祝贺#]
2016年12月17日23:34:45
本人是个PHP菜鸟,也希望能学习到更多东西,如有错误之处请留言指出,万分感谢.