当前位置 主页 > 服务器问题 > Linux/apache问题 >

    apache .htaccess文件详解和配置技巧总结(3)

    栏目:Linux/apache问题 时间:2018-09-29 13:35


    复制代码 代码如下: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>[/code]
    4.禁止脚本执行,加强你的目录安全
    复制代码 代码如下:# 禁止某些目录里的脚本执行权限 
    AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi 
    Options -ExecCGI


    八、一些常用的设置
    1.时区设置
    有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
    1.SetEnv TZ Australia/Melbourne
    2. seo/seo.html" target="_blank">搜索引擎友好的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页面
    对每个错误代码定制自己个性化的错误页面。
    复制代码