htaccess功能简明教程 2012-06-14 其他 暂无评论 2276 次阅读 文章代码中的问号和引号可能转义,请自行修改。 .htaccess文件很有用,简单说说吧(可是淡水还是厚颜的加上了简明教程的标题)。 重定向和url重写 一个简单的重定向 `Redirect 301 ^old\.html$ http://localhost/new.html` 这是设置一个http状态码为301(永久移动)并把所有访问old.html转向到new.html。使用了正则表达式来匹配访问的页面,后面的url必须是完整路径。 Url重写 ``` RewriteEngine on RewriteRule ^old\.html$ new.html ``` 第一行打开重写引擎 第二行是重写规则。这样用户访问old.html时实际却是访问的new.html,而且用户对此好吧知情。因为地址栏里依旧显示是old.html。 为了在地址栏显示新的访问地址,我们可以加个f标志在rewriterule语句里。 `RewriteRule ^old\.html$ http://hostname/new.html [r=301]` 下面是把带查询参数的url重写成对搜索引擎友好的url `RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&brand=$2&prod=$3` 这条规则允许访问者以类似这样的url products/turntables/technics/sl1210, 来访问`product.php?cat=turntables&brand=technics&prod=sl1210.` 括号里为一个单元,分别对应后面的$1,$2,$3。[^/]+ 在原括号里表示除了/之外的任何一个或是多个字符。 自定义错误页面 `ErrorDocument 404"/404.html"` 这是定义404页面无法找到的错误,也可以定义其他错误代码的页面。 限定访问特点资源 ``` AuthName"Username and password required" AuthUserFile/path/to/.htpasswd Require valid-user AuthType Basic ``` 保护protectedfile.html,authName是登陆框的提示信息,authuserfile是.htpasswd文件的路径 阻止某些ip访问 ``` order allow,deny deny from 192.168.0.1 allow from all ``` Order告诉apache指令的顺序。这里的这个是先允许后拒绝的。虽然allow from all后出现但是还是在前面生效。拒绝了192.168.0.1的访问。也可以按段来屏蔽访问的,只要只指定前面的几段就可以类似,192.168. 实现缓存 ``` ExpiresActive on ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ``` 第一行开启,下面分别控制各种资源都加上一个月的缓存期。这个功能依赖apache的mod_expires 模块。 还可以实现压缩,以减少流量。这里就不多谈了。结束了,果然很简明吧。 By 淡水河边 in PHP, Work 标签: apache, htaccess, 教程 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。