投稿 评论 顶部

ThinkPHP实现文件伪静态

佚名 网络安全

REWRITE 本身提供了使用文件进行静态化处理的功能,ThinkPHP 使用 U 函数可以方便地生成相应的 URL,但由于需要按照 ThinkPHP 内置的规则进行行生成,所以灵活性受到一些限制。如果项目已经确定了一种URL形式,那么完全可以抛开 ThinkPHP 的 URL模式,使用 Web 服务器的重写功能实现更简单的定制需求。例如新闻网站多数都是静态化的,在 ThinkPHP 中可以使用静态缓存来大到静态化的目的,然后配置 RUL 重写规则功能即可,如以下 .htaccess 文件代码所示。

<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>

?配置完成 URL 重写规则之后,可以直接在视图中使用重写的URL。使用服务器的 URL 重写功能可以很好地实现 URL 静态化,结合 Varnish、Squid 等缓冲服务器,能够实现性能更高的 PHP 动态网站,这在超大型网站中是经常使用的技术方案。