首先要学会怎么设置

httpd.conf 的设置, 什么 ALL 就不用用说了

要看你的 httpd.conf 是否设置正确了,很简单,只要你在 .htaccess  里随便录入一些 比如 adbasdfasdf 之类的文件,保存,设置 htaccess 是不用重启 apache 的, 这时看下是不是网页上显示的乱码,如果是,说明你的httpd.conf 配置是正确的

义乌网络公司 技术人员经过测试,htaccess 里的内容作伪静态时, 正确的写法是这样的:

RewriteEngine On
RewriteRule list/(\d+)\.html$ 1.PHP?str=$1

RewriteEngine On
RewriteRule ^list/(\d+)\.html$ 1.php?str=$1

RewriteEngine On
RewriteRule ^(.*)list/(\d+).html$ 1.php?str=$2

RewriteEngine On
RewriteRule ^(.*)list/(\d+)\.html$ $1/1.php?str=$2

这里的 ^(.*)list/(\d+)\.html$  只能这样写。

如下写法在我的测试中都是错误的:

1. ^/list/(\d+)\.html$

2. ^(.*)/list/(\d+)\.html$

下面说有哪些用途?

1.时区设置

有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。

SetEnv TZ Australia/Melbourne

2. 搜索引擎友好的301永久转向方法

为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。

Redirect 301 http://www.aqee.NET/home http://www.aqee.net/

3. 屏蔽下载对话框

通常,当你下载东西的时候,你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西,你可以把下面的一段代码放到你的.htaccess文件里。

AddType application/octet-stream .pdf

AddType application/octet-stream .zip

AddType application/octet-stream .mov

4. 省去www前缀

SEO的一个原则是,确保你的网站只有一个URL。因此,你需要把所有的通过www的访问转向的非www,或者反这来。

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^www.aqee.Net [NC]

RewriteRule ^(.*)$ http://aqee.net/$1 [L,R=301]

5. 个性化Error页面

对每个错误代码定制自己个性化的错误页面。

ErrorDocument 401 /error/401.php

ErrorDocument 403 /error/403.php

ErrorDocument 404 /error/404.php

ErrorDocument 500 /error/500.php

6. 压缩文件

通过压缩你的文件体积来优化网站的访问速度。

# 压缩 text, html, JavaScript, css, xml:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

7. 缓存文件

缓存文件是另外一个提高你的网站访问速度的好方法。

<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>

Header set Cache-Control “max-age=2592000″

</FilesMatch>

8. 对某些文件类型禁止使用缓存

而另一方面,你也可以定制对某些文件类型禁止使用缓存。

# 显式的规定对脚本和其它动态文件禁止使用缓存

<FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$” >

Header unset Cache-Control

</FilesMatch>

安全问题

下面的htaccess代码能够提高你的web服务器的安全水平。图片链接盗用保护非常有用,它能防止其他人偷盗使用你的服务器上的图片资源。

1. 通过.htaccess放盗链

痛恨那些偷盗链接你的web服务器上的图片资源而耗尽了你的带宽的行为吗?试试这个,你可以防止这种事情的发生。

RewriteBase /

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www.)?aqee.net/.*$ [NC]

RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

2. 防黑客

如果你想提高网站的安全等级,你可以去掉下面的几行代码,这样可以防止一些常见恶意URL匹配的黑客攻击技术。

RewriteEngine On

# proc/self/environ? 没门!

RewriteCond %{QUERY_STRING} proc/self/environ [OR]

# 阻止脚本企图通过URL修改mosConfig值

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# 阻止脚本通过URL传递的base64_encode垃圾信息

RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]

# 阻止在URL含有<script>标记的脚本

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

# 阻止企图通过URL设置PHP的GLOBALS变量的脚本

RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]

# 阻止企图通过URL设置PHP的_REQUEST变量的脚本

RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})

# 把所有被阻止的请求转向到403禁止提示页面!

RewriteRule ^(.*)$ index.php [F,L]

3. 阻止访问你的 .htaccess 文件

下面的代码可以阻止别人访问你的.htaccess文件。同样,你也可以设定阻止多种文件类型。

# 保护你的 htaccess 文件

<Files .htaccess>

order allow,deny

deny from all

</Files>

# 阻止查看指定的文件

<Files secretfile.jpg>

order allow,deny

deny from all

</Files>

#多种文件类型

<FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>

Order Allow,Deny

Deny from all

</FilesMatch>

4. 重命名htaccess 文件

你可以通过重命名htaccess文件来对其进行保护。 
AccessFileName htacc.ess

5. 禁止目录浏览

禁止服务器对外显示目录结构,反之亦然。

# 禁止目录浏览

Options All -Indexes

# 开放目录浏览

Options All +Indexes

6. 改变缺省的Index页面

你可以把缺省的 index.html, index.php 或 index.htm 改成其它页面。

DirectoryIndex business.html

7. 通过引用信息来阻止某些不欢迎的浏览者

# 阻止来自某网站的用户

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]

RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]

RewriteRule .* - [F]

</ifModule>

8. 通过判断浏览器头信息来阻止某些请求

这个方法可以通过阻止某些机器人或蜘蛛爬虫抓取你的网站来节省你的带宽流量。

# 阻止来自某些特定网站的用户

<IfModule mod_rewrite.c>

SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider
|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT

SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT

Deny from env=HTTP_SAFE_BADBOT

</ifModule>

9. 禁止脚本执行,加强你的目录安全

# 禁止某些目录里的脚本执行权限

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

Options -ExecCGI

转自:http://blog.csdn.net/alexdream/article/details/8979225

【转】APACHE RewriteEngine用途的更多相关文章

  1. apache url rewrite问题

    apache RewriteEngine Your browser sent a request that this server could not understand http://www.ra ...

  2. Node.js 究竟是什么?

    Node.js 究竟是什么? 一个 "编码就绪" 服务器 Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸 ...

  3. node.js介绍

    官网说明: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...

  4. https基础

    面试题 https://blog.csdn.net/xihuangwutong/article/list/5? TLS 有三大功能:内容加密,身份认证,数据完整性认证 内容加密是依赖于秘钥协商协议数据 ...

  5. 常用工具说明--node.js是什么

    简介 如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?” 即便是在参阅 Node 的主页之后,您甚至可能还是 不明白 Node ...

  6. 不带 www 跳转 到 带 www 网站..

    IIS: <rule name="已导入的规则 1-1" stopProcessing="true"> <match url="^( ...

  7. Node.js 是什么

    Node.js 是什么 一个 “编码就绪” 服务器 Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理 ...

  8. 8. apache服务实验笔记

    Apache服务器 一 简介 1 www:world  wide  web 万维网 http 协议: 超文本传输协议 HTML语言: 超文本标识语言 2 URL:统一资源定位 协议+域名:端口+网页文 ...

  9. apache .htaccess文件详解和配置技巧总结

    一..htaccess的基本作用 .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令.       .htaccess主要的作用有:URL重写.自定义错误页面.MIME类 ...

随机推荐

  1. Hive_UDF函数中集合对象初始化的注意事项

    UDF函数中定义的集合对象何时初始化 udf函数放在sql中对某个字段进行处理,那么在底层会创建一个该类的对象,这个对象不断的去调用这个evaluate(...)方法,截图如下:   1.1 如果说对 ...

  2. Fontawesome字体使用说明及其常用效果语法

    标签: 字体图标iconfontawesom Font web开发(17) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文主要介绍如何在我们的站点里引入Footaweso ...

  3. YourPHP笔记

    http://blog.sina.com.cn/s/blog_7c54793101016qq1.htm 基础认识: Ø  yourphp安装为子目录时不可以以"yourphp"为文 ...

  4. php 5.0 与7.0有什么区别

    我有更好的答案 发布于2017-05-19 12:30 最佳答案 PHP7特性 PHP 7.0.0 Alpha 1[1] 使用新版的ZendEngine引擎,带来了许多新的特性,以下是不完全列表: 性 ...

  5. [SinGuLaRiTy] Nescafe 24杯模拟赛

    [SinGularLaRiTy-1044] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 小水塘(lagoon) 题目描述 忘川沧月的小水塘 ...

  6. 常用SQL笔记总结

    DDL(data definition language)创建和管理表 1.创建表 1.直接创建 例如: create table emp( name varchar(20), salary int ...

  7. properties文件中中文不能显示或者中文乱码

    1.properties 文件中文乱码问题 鼠标“右击”文件 => Resource => Text file encoding => UTF-8 2.properties 文件解析 ...

  8. 动态添加div及对应的js、css文件

    动态添加div及对应的js.css文件 在近期的项目开发中需要在首页中添加很多面板型的div,直接加载代码显得很繁琐,于是利用js封装一个动态添加div及其对应css文件和js文件的方法供大家参考使用 ...

  9. 自己动手搭建一个简易的SpringBoot环境

    什么是springboot? Spring Boot俗称微服务.Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特 ...

  10. System包含的信息

    System类中的属性值 System.getProperty()方法大全 System.out.println("java版本号:" + System.getProperty(& ...