Rewrite规则怎么写之Apache篇
2019-03-27 08:50:38来源: seozhao.com 阅读 ()
经常看到很多人求助,说他的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.AAA.com/b.php?id=1″此类URL伪静态为“http://www.AAA.com/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} ^AAA\.com$ [NC]
RewriteRule ^(.*) http://www.AAA.com/$1 [R=301,L]
上述规则是将AAA.com 301 到 www.AAA.com,符号的含义相信不必再做解释了。
那么经过这两条规则,你应该有所启发了,如果你的网站做改版,导致你的URL结构发生了变化,怎么办?答案很简单,我们可以利用.htacess文件,通过写rewrite规则,将老的URL 301到新的URL上。
RewriteRule ^(.*?)/?index\.html$/$1? [L,R=301]
这个规则是将域名下搜有a/index.html 301 到 a/ 的URL下。规则是死的,最重要的是大家要活学活用,相信熟练掌握rewrite规则后,你会发现网站所有的URL与返回码将会全部在你的掌控下!
本文首发天津seo:http://www.seozhao.com/135.html 转载请注明。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:广告效果分析的3个关键点
下一篇:关于个人网站如何发展的10大建议
- 运营都会写分析报告了!数据分析该怎么办? 2021-05-07
- 企业微信客户朋友圈规则太多不会玩?看这篇就够了 2020-01-04
- 企业微信客户朋友圈规则太多不会玩?看这篇就够了 2020-01-03
- 怎么把用户带回搜索引擎? 2019-11-29
- 微博、星巴克、QQ是怎么“驯化”你的? 2019-09-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash