森森网络

伪静态规则htaccess的写法

 

来源:森森网络 管理员     阅读:2117      2016-8-4 19:49

 

伪静态规则htaccess的写法

 

如果网站运行环境是Apache搭建的,通常都会在网站的根目录下创建一个.htaccess文件以此来做URL地址的伪静态。
在上一节中我们已经教大家如何让Apache开启伪静态,这一节我们为大家演示如何创建.htaccess文件以及url重写规则。
创建.htaccess文件

本地创建一个记事本文件,写入预备好的伪静态规则。如图:


deny from all
ErrorDocument 404 /404.html
ErrorDocument 503 /503.html
order deny,allow
RewriteEngine on
解释一下:
deny from all 禁止所有人直接查看.htaccess文件
ErrorDocument 404 /404.html 自定义404错误页面
ErrorDocument 503 /503.html 自定义503错误页面
RewriteEngine on 将RewriteEngine引擎设置为on,就是让url重写生效;反之,则成写RewriteEngine off即可。

文件另存为,命名.htaccess,文件保存类型选择“所有文件”,保存至网站根目录下。如图:





URL重写(正则表达式)
1、文件在根目录下的写法
RewriteRule ^index.html$ index.php

示例:http://www.seesn.com/index.html → http://www.seesn.com/index.php


2、文件在二级目录下的写法
RewriteRule ^abc/$ abc/index.php

示例:http://www.seesn.com/abc/ → http://www.seesn.com/abc/index.php


3、二级目录下带一个参数的写法
RewriteRule ^abc/([0-9]+)\.html$ abc/index.php?id=$1

示例:http://www.seesn.com/abc/ 1.html → http://www.seesn.com/abc/index.php?id=1


4、二级目录下带两个参数的写法
RewriteRule ^abc/([a-zA-Z_]+)/([0-9]+)\.html$ abc/index.php?type=$1&id=$2
示例:http://www.seesn.com/abc/aaa /1.html → http://www.seesn.com/abc/index.php?type=aaa&id=1
http://www.seesn.com/abc/bbb /2.html → http://www.seesn.com/abc/index.php?type=bbb&id=2
RewriteRule ^abc/([0-9]+)-page-([0-9]+)\.html$ abc/index.php?type=$1&page=$2
示例:http://www.seesn.com/abc/ 1-page-1.html → http://www.seesn.com/abc/index.php?type=1&page=1
说明:关于url重写,可以根据个人喜好来写,比如上面的url,我们也可以把中间的短横线写成下划线。如下所示:
RewriteRule ^abc/([0-9]+)_page_([0-9]+)\.html$ abc/index.php?type=$1&page=$2

示例:http://www.seesn.com/abc/ 1_page_1.html → http://www.seesn.com/abc/index.php?type=1&page=1


注意事项:
写好的.htaccess后,我们通过FTP将其上传到网站根目录中。
以前我曾经犯过一个错误,就是无意间在其它目录下又上传了相同的.htaccess文件,自己却又不知道,结果后面我即便改了根目录下的这份.htaccess,也导致重写的URL无法生效。后来在其它文件夹删除了那份多余的.htaccess后就排除问题了。也就是说网站的服务器中只能有一份.htaccess文件存在。

希望本文对大家有所帮助!如有错误之处欢迎大家批评指正~


更多原创内容请关注右上角订阅【森森网络】头条号,随时收读发布的最新信息,或者搜索微信公众号“森森网络”关注我们。

 

|   关于我们   |   联系我们   |   网站地图   |
CopyRight © 2013-2016 安庆市森森网络科技有限公司版权所有    皖ICP备15018643号-1