Rewrite 是网页服务器程序的一个链接地址重写模块(Mod_Rewrite),可以按照正则表达式(Regular Expression)规则匹配内容,对符合条件的 URL 进行实时的改写。我这几天用它干了点儿“坏”事儿:屏蔽了一些我认为不友好的访问。
Mod_Rewrite 的妙用:屏蔽不友好的访问
1
Rewrite 是网页服务器程序的一个链接地址重写模块(Mod_Rewrite),可以按照正则表达式(Regular Expression)规则匹配内容,对符合条件的 URL 进行实时的改写。我这几天用它干了点儿“坏”事儿:屏蔽了一些我认为不友好的访问。
基于 WordPress 的网站在设置了固定链接之后,网页地址基本上就固定了下来。但是也有特殊情况出现,比如在 Google 统计中就可能出现网址变体。今天通过 .htaccess 中的 URL ReWrite 功能将这些变体进行了统一,使之都能正确打开相应的页面。
在Apache服务器上,我们经常因为URL链接地址的SEO(搜索引擎优化)需要而改写URL形式。如WordPress里的永久链接(Permalinks)的实现就需要这样。利用的就是其Mod Rewrite模块的链接重写功能。链接重写采用的是正则表达式(Regular Expression)来定义匹配规则。下面是经常用到的一些语法规则的含义,我感觉就像是代数表达式。
使用插件可以安全的变换WordPress网站的永久链接地址(Permalinks)。但是以前编辑的页面和文章里多半会引用自己站里的文章,那时候用的是旧的永久链接。使用永久链接迁移插件或者SEO工具插件并不会修改那些链接,而仅仅是替你做个301跳转,好让人可以通过原来的地址正确的找到文章。可是每次进行301 跳转也挺麻烦的,还要耗费一些不必要的系统资源。为了避免这些,同时可以让整个网站的内部链接URI都比较美观,我们就可以通过操作数据库将引用的内部文章的链接地址URI也进行编辑和修改。使用正则表达式(Regular Expression)来对查找匹配规则进行描述可以实现批量操作。