Rewrite规则怎么写之Apache篇

幸运草 2020年4月1日22:45:57伪静态Rewrite规则怎么写之Apache篇已关闭评论阅读模式

 经常看到很多人求助,说他的IDC不支持控制面板做301怎么办,或者说问伪静态规则怎么写,所以写这篇博文,主要本文主要讨论在Apache下,进行编写Rewrite规则。

首先,先说URL的重写规则怎么写。这个主要是用于做伪静态。重写规则是放在.htaccess文件下或Apache的配置文件(httpd.conf或sites_conf目录里的一些特定的网站配置文件),此文主要讨论.htacess文件(其实都差不多)。

打开你的.htacess文件,开头内容如下:

RewriteEngine on

RewriteBase /

RewriteEngine on是代表开启rewrite,而RewriteBase / 是表示所有规则前都存在"/",写了这条之后,你后面所有规则的开头,只需要写"^"就后了,但要注意的是,此规则仅在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略、不必写。

在正是写规则前,先为大家讲一下重写中设计到的特殊字符的含义。

*代表前面0或更多个字符

+代表前面1或更多个字符

?代表前面0或1个字符

^代表字符串的开始位置

$代表字符串结束的位置

.为通配符,代表任何字符

将跟在其后的字符还原为字符本身,例如"+"代表的就是"+",而非其它意思。

^在方括号里表示非的意思。例如[^.]代表非通配符。

那么假如我们希望将"http://www.letians.cn/b.php?id=1"此类URL伪静态为"http://www.letians.cn/b/1"的形式,则规则如下:

RewriteRule ^b/([0-9]+)/?$/b.php?id=$1 [L]

上面的例子中,^表示域名后来的URL的开始,$表示字符串结束,也就是域名后面的URL结束。[0-9]表示一个数字,因为只要URL存在,其必然存在一个id数字。紧接其后的+表示表示出现1个或多个数字。[0-9]+连在一起,表示字符以数字形式出现,数字范围为0-9,出现次数为1或多次。$表示字符串结束,?$表示在根域名后到域名结束,有0或1个字符。$1表示存在内存中的内容,也就是说第一个圆括号中的内容。[L]表示如果规则匹配就停止,否则需要继续运行剩下的规则,通常这个没必要深究。

那除非伪静态外,有时候我们还需要利用.htacess进行301重定向。符号含义不变,举例如下:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^seozhao.com$ [NC]

RewriteRule ^(.*) http://www.letians.cn/$1 [R=301,L]

上述规则是将seozhao.com 301 到 www.letians.cn,符号的含义相信不必再做解释了。

那么经过这两条规则,你应该有所启发了,如果你的网站做改版,导致你的URL结构发生了变化,怎么办?答案很简单,我们可以利用.htacess文件,通过写rewrite规则,将老的URL 301到新的URL上。

RewriteRule ^(.*?)/?index.html$/$1? [L,R=301]

这个规则是将域名下搜有a/index.html 301 到 a/ 的URL下。规则是死的,最重要的是大家要活学活用,相信熟练掌握rewrite规则后,你会发现网站所有的URL与返回码将会全部在你的掌控下!

本文来源于:Rewrite规则怎么写之Apache篇-变化吧
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
幸运草
什么是SEO,SEO能给企业带来多少收益 伪静态

什么是SEO,SEO能给企业带来多少收益

SEO汉译为搜索引擎优化,是一种方式。利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,目的是为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌利益;SEO包含站外SEO和站内...
SQLMap-常用命令 伪静态

SQLMap-常用命令

前端SEO优化 一、搜索引擎工作原理 在搜索引擎网站的后台会有一个非常庞大的数据库,里面存储了海量的关键词,而每个关键词又对应着很多网址,这些网址是被称之为“搜索引擎蜘蛛”或“网络爬虫”程序从茫茫的互...
记一次IIS劫持处置 伪静态

记一次IIS劫持处置

晚上十一点四十,刚准备休息,收到朋友电话,其一个站点被入侵篡改,导致某web接口异常,帮忙远程处理。 D盾一把梭: 网页篡改、服务器入侵类事件处理了几年,第一反应是服务器被提权,中了后门,占用CPU、...