解析htaccess伪静态的规则

yipeiwu_com6年前PHP代码库

利用htaccess文件可以很好的进行站点伪静态,并且形成的目标地址与真正的静态页面几乎一模一样,如wangqu.html等,伪静态可以非常好的结合SEO来提高站点的排名,并且也能给人一种稳定的印象。

由于伪静态必须要完全根据不同的站点进行不同的设置,因此,我们仅能简单介绍其原理,给出几个常用程序的示例:

若要通过htaccess使用伪静态,则必须空间商支持Rewrite模块,该模块负责URL的重写。否则即便是设置好了,也无法使用,并且还有可能出现500错误。

下面是Discuz的伪静态设置文本:

# 将 RewriteEngine 模式打开
RewriteEngine On
# Rewrite 系统规则请勿修改
RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

以下是Phpwind的伪静态设置文本:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2

此外,还有很多种不同的规则,如果想制定出适用于自己站点的伪静态规则,必须熟悉网站结构和正则表达式。

相关文章

PHP实现C#山寨ArrayList的方法

本文实例讲述了PHP实现C#山寨ArrayList的方法。分享给大家供大家参考。具体如下: class ArrayList { public $length; public $n...

PHP提取数据库内容中的图片地址并循环输出

复制代码 代码如下: /* 1 (?s) 代表 Pattern.DOTALL,也就是匹配换行,允许 img里出现在多行 2 .*?代表非贪婪匹配任意字符,直到后面的条件出现 3 ?: 代...

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法

本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大家供大家参考,具体如下: 一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮...

PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式

PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式

思维导图 点击下图,查看大图。  介绍    条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化它们。   全文简述(你可直接跳...

php tpl模板引擎定义与使用示例

本文实例讲述了php tpl模板引擎定义与使用。分享给大家供大家参考,具体如下: tpl.php <?php namespace tpl; /** * Class Tp...