.htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体 地怎样接待它,就是此文件的作用。所有的访问都是通过URL实现,所以.htaccess的作用非同小可。正因为此,所以一般地网站通过设 置.htaccess,通过一个十分友好的url吸引用户进来,然后用.htaccess把用户带到需要访问的位置。
可以使用cmd创建.htaccess文件
要想使用这个强大功能,就得开启apache里面的重写模块。
修改虚拟主机配置文件,增加 AllowOverride All
<VirtualHost *:80>
ServerName www.error.com
DocumentRoot "D:\www\error"
<Directory "D:\www\error">
#全部允许
allow from all
#没有默认首页,展示脚本的列表
Options indexes
#配置默认首页
DirectoryIndex index.php index.html
#重写模式权限
AllowOverride All
#访问目录有权限
Require all granted
</Directory>
</VirtualHost>
.htaccess文件示例
#判断是否开启重写模块
<IfModule mod_rewrite.c>
#开启重写引擎
RewriteEngine on
#RewriteRule ^(.*).html $1.php
#RewriteRule (\d+).html $1.php
#重写商品信息的链接
#RewriteRule goods/(\d+).html index.php/Home/Goods/goodslist/id/$1
#RewriteRule abc.html abcd.php
#[R]外部跳转 url会同时改变
#RewriteRule abc.html /abcd.php [G]
#重写把参数传输过去
#RewriteRule (\d+).html /static.php?id=$1 [QSA]
#防止盗链
#满足重写重写 再执行重写规则
#%{HTTP_REFERER} 判断请求的来源
RewriteCond %{HTTP_REFERER} !cache.php59.com [NC]
#执行重写规则
#() 正则子表达式 |或者 满足其一即可
RewriteRule (jpg|png|gif) image/2.gif
</IfModule>