紫金网站建设,上海自贸区注册企业优惠政策,包头seo哪家好,如何注册小程序开店1、.htaccess文件使用前提.htaccess的主要作用就是实现url改写#xff0c;也就是当浏览器通过url访问到服务器某个文件夹时#xff0c;作为主人#xff0c;我们可以来接待这个url#xff0c;具体地怎样接待它#xff0c;就是此文件的作用。所有的访问都是通过URL实现…1、.htaccess文件使用前提.htaccess的主要作用就是实现url改写也就是当浏览器通过url访问到服务器某个文件夹时作为主人我们可以来接待这个url具体地怎样接待它就是此文件的作用。所有的访问都是通过URL实现所以.htaccess的作用非同小可。正因为此所以一般地网站通过设置.htaccess通过一个十分友好的url吸引用户进来然后用.htaccess把用户带到需要访问的位置。要想使用这个强大功能就得开启apache里面的重写模块。前面的文章中曾经讲到过windows和ubuntu开启 rewrite模块使用.htaccess 。其实开启模块大体的步骤都是一样的无论是Windows和linux。2、.htaccess基本语法介绍开启重写引擎 RewriteEngine on设置重写的根目录RewriteBase / — 说明 因为定义了这个文件夹所以对应的替换就有了一个参照。匹配所有符合条件的请求RewriteCond — 说明RewriteCond 定义了一系列规则条件这个指令可以有一条或者多条只有用户拿来的url符合这些条件之后我们的.htaccess才开始接待否则用户就直接自己去访问所需要的目录了。举个例子为了能让搜索引擎更多地抓取我们的网页而避免重复抓我们通常把没有www的域名重定向到www.XXX.com如下就实现了这个功能RewriteEngine OnRewriteCond %{HTTP_HOST} ^nbphp\.com$ [NC]RewriteRule ^(.*)$ http://www.nbphp.com/$1 [R301,L]上例便把nbphp.com 重定向到www.nbphp.com%{HTTP_HOST} 是指取得用户访问的URL的主域名 然后空格后面是一个正则表达式匹配意识就是说是否是 nbphp.com 。如果用户访问使用的URL满足所有列出的RewriteCond 提出的条件那么进行下一步RewriteRule 即开始进行引导这才开始实现.htaccess文件的重要功能。同样前面是正则表达式用户分析用户的除了主域名nbphp.com之外的URL ,^(.*)$的意思就是所有的内容。 然后空格后面写的是我们引导用户访问的目录我们带着他走到新的一个域名上。$1 指的是前面括号里匹配url所得到的内容。这样就是一个完整的小例子。关于RewriteCond里 如何调用url的某个部分我们可以参考这篇文章(Apache的Mod_rewrite学习 (RewriteCond重写规则的条件)3、现学现用学习正则表达式。推荐一个经典的教程 正则表达式30分钟入门教程这个教程的确很简单看完基本上写一些简单的正则就没有问题了。正则是一个需要长期使用的工具隔段时间不用会忘记所以我每次都看一遍这个教程。其实学过之后重要的就是一点内容。我简单罗列了如下. 换行符以外的所有字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束*重复零次或更多次*重复零次或更多次重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次应用替换时前面第一个()中匹配的内容后面就用$1引用第二个()中匹配的就用$2应用……推荐一个实用的正则在线测试网站 http://www.regextester.com/我们来分析一下 discuz7.0 搜索引擎优化 htaccess 里面的重写。RewriteRule ^forum-([0-9])-([0-9])\.html$ forumdisplay.php?fid$1page$2首先加入用户通过 nbphp.com/forum-2-3.html 访问discuz论坛那么先通过.htaccess过滤看看是否需要.htaccess引导一下用户如果满足列出的一系列RewriteCond的条件那么就进行重写discuz的没有列出RewriteCond 所以应该全部都进行重写。所以开始进行转写forum-2-3.html 这个正好符合 列出的^forum-([0-9])-([0-9])\.html$ 正则表达式。并且 $1 为 2 $2为3 所以代入后面即 forumdisplay.php?fid2page3 加上前面的RewriteBase 指定的文件目录那么就带他到制定目录的forumdisplay.php?fid2page3 。4、常见的.htaccess应用举例(部分例子引自四个例子实战讲解.htaccess文件rewrite规则)4.1防止盗链如果来得要访问jpe jpg bmp png结尾的url 用户不是来自我们的网站那么让他看一张我们网站的展示图片。RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(..)?mysite.com/ [NC]RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]4.2 网站升级的时候只有特定IP才能访问其他的用户将看到一个升级页面RewriteEngine onRewriteCond %{REQUEST_URI} !/upgrade.html$RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30RewriteRule $ http://www.nbphp.com/upgrade.html [R302,L]4.3把老的域名转向新域名# redirect from old domain to new domainRewriteEngine OnRewriteRule ^(.*)$http://www.yourdomain.com/$1[R301,L]5、一些其他功能5.1 引出错误文档的目录ErrorDocument 400 /errors/badrequest.htmlErrorDocument 404 http://yoursite/errors/notfound.htmlErrorDocument 401 “Authorization Required5.2 Blocking users by IP 根据IP阻止用户访问order allow,denydeny from 123.45.6.7deny from 12.34.5. (整个C类地址)allow from all5.3 防止目录浏览# disable directory browsingOptions All -Indexes5.4设置默认首页# serve alternate default index pageDirectoryIndex about.html5.5 把一些老的链接转到新的链接上——搜索引擎优化SEORedirect 301 /d/file.htmlhttp://www.htaccesselite.com/r/file.html5.6为服务器管理员设置电子邮件。ServerSignature EMailSetEnv SERVER_ADMINdefaultdomain.comphp .htaccess文件使用详解标签数字 汉字 set 在线 意思 步骤 nat 根目录 apache本条技术文章来源于互联网如果无意侵犯您的权益请点击此处反馈版权投诉本文系统来源http://www.cnblogs.com/IT-LM/p/6829209.html