伪静态

PHP 实现页面静态化

大城市里の小女人 提交于 2019-12-24 03:03:03
PHP文件执行阶段: 语法分析-》编译-》运行 静态html文件执行顺序 :运行 动态程序: 连接数据库服务器或者缓存服务器-> 获取数据->填充到模板->呈现给用户 关于优化页面响应时间 动态页面静态化 优化数据库 使用负载均衡 使用缓存 1.  动态页面静态化: 页面中一些内容不经常改动 不适用于内容经常变换的应用:例如:微博等。如果页面中一些内容改动,动态页面静态化是非常有效的加速方法。   动态页面静态化好处: 减少服务器脚本的计算时间 降低服务器的响应时间 2.  动态URL地址设置静态形式(伪静态) 3.  php静态化: 1.纯静态: a. 局部纯静态 b. 全部纯静态 2. 伪静态 4.Buffer认知(php.ini文件中output_buffering=on开启缓存区,ob_start()也可以开启缓存区) a) Buffer其实就是缓冲区,一个内存地址空间,主要用于数据存储区域。 b)输出流程:内容-》php buffer->tcp->终端 c)获取缓冲区内容:php内容函数 ob_get_contents(); d)ob_start():开启缓冲区(php5.3默认开启output_buffering=on) 5.php如何实现页面纯静态化 a)基本方式 i.file_put_contents()函数:将一个字符串写入文件 file_put_contents

动态url、静态url和伪静态url的详细讲解

↘锁芯ラ 提交于 2019-12-23 17:59:52
关于url的动态、静态、伪静态,很多站长朋友,尤其是新站长一直搞不清楚。网上的许多解释又语焉不详,下面子画SEO就作详细的讲解下。 我们说url的动态、静态、伪静态三种形式,其实从严格分类上来说,伪静态也是动态的一种,只是表现形式为静态。 动态页面的特征: 1、以ASP、PHP、JSP、ASP.net、Perl、或CGI等编程语言制作的; 2、不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页; 3、内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容; 4、内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量。 静态页面的特征是: 1、静态页面的URL链接是以.html、htm、.shtml、.xml为链接后缀; 2、静态页面是存在于服务器上的一个文件,每个网页都是一个独立的文件; 3、客户端加载静态页面时,并没有操作数据库,只是直接提取一个文件。 静态、动态、伪静态页面的优缺点: 1、动态页面 优点:空间使用量非常小,一般几万条数据的网站,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M。因为数据是从数据库里面调用而来,所以如果要更改某些数值,直接更改数据库,那么所有的动态页面,就会自动更新了。这一点相比静态页面好处就大很多了。 缺点:用户访问速度较慢,为什么会访问动态页面较慢呢

WordPress实现伪静态

不羁的心 提交于 2019-12-23 11:14:04
点击最下面的 自定义结构 然后输入 /%post_id%.html ,然后保存更改,地址就会变为静态地址了 当然,并没有完 继续 复制下面的代码: [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L] 创建文件httpd.ini 上传到根目录即可,若不行

织梦做了伪静态后让访问动态链接时301跳转到伪静态url上来

Deadly 提交于 2019-12-21 02:06:14
我们都知道,伪静态就是建立在动态的基础上的 当我们做好了伪静态后,在地址栏上打开动态链接时也是能正常打开的 如果不想让别人或者搜索引擎还能打开动态链接,统一权重到伪静态url上时,我们可以给动态链接上做个301跳转 栏目列表页301重定向实现教程 比如织梦的栏目列表页动态链接是 https://www.dedehtml.com/plus/list.php?tid=1 打开动态链接时我们希望301重定向到伪静态链接上去 https://www.dedehtml.com/notes/ 打开 /plus/list.php 找到 if($cfg_rewrite == 'Y') { ...中间代码省略 } 在它里面加入 if(stripos(GetCurUrl(), '.php')) { $typeurl = GetOneTypeUrlA($dsql->GetOne("SELECT * FROM `#@__arctype` WHERE id=$tid")); header("Location: ".$typeurl, TRUE, 301); exit(); } 如图 内容页301重定向实现教程 比如织梦的内容页动态链接是 https://www.dedehtml.com/plus/view.php?aid=1 打开动态链接时我们希望301重定向到伪静态链接上去 https://www

thinkphp 3.2.3 URL路由伪静态生成遇到的问题生成带HTML后缀

筅森魡賤 提交于 2019-12-15 14:32:02
再弄项目网站时候,有必要对网站的URL进行伪静态处理以及带html的后缀。这样看起来会比较舒服,同时对搜索引擎也比较友好。 但是在用thinkphp3.2.3时候发现正则路由规则有点问题,当成yii2来写了。 一直提示无法加载控制器: 最后找了很多资料后发现原来是后缀不能直接写在规则里面 大体这样写: //启用路由功能 'URL_ROUTER_ON' => true, //静态地址路由设置 'URL_MAP_RULES' => array( 'test' => 'Home/Home/index', ), 'URL_HTML_SUFFIX'=>'html',//URL后缀 //动态地址路由 'URL_ROUTE_RULES' => array( '/^news\/detail-(\d+)$/' => 'Home/News/detail?id=:1', ) 这样我们在请求http://xxx.cn/test.html 就会对应Home/Home/index 动态地址http://xxx.cn/news/detail-1.html 对应 Home/News/detail?id=1 这个时候大功告成 程序员工具: https://www.toolnb.com/toolslist/14.html 来源: CSDN 作者: 这么多柠檬c 链接: https://blog.csdn.net

APACHE服务器出现No input file specified.的完美解决方案

一世执手 提交于 2019-12-07 10:28:00
启用REWRITE的伪静态功能的时候,首页可以访问,而访问内页的时候,就提示:“No input file specified.” 原因在于使用的PHP是fast_cgi模式,而在某些情况下,不能正确识别path_info所造成的错误,Wordpress的伪静态也有一样的问题。 Wordpress程序默认的.htaccess里面的规则: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] “No input file specified.”,是没有得到有效的文件路径造成的。 修改伪静态规则,如下: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?/$1 [L] 有没有发现不同? 其实就是在正则结果“/$1”前面多加了一个“?”号,问题也就随之解决了。 来源: oschina 链接: https://my.oschina.net/u

Discuz(社区动力)论坛伪静态规则

≯℡__Kan透↙ 提交于 2019-12-07 10:27:43
本文意在解决Discuz(社区动力)论坛开启伪静态的设置问题。 Discuz(社区动力)论坛官方伪静态规则: # 将 RewriteEngine 模式打开 RewriteEngine On # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 / RewriteBase / # Rewrite 系统规则请勿修改 #RewriteRule ^archiver/((fid|tid)-[\w\-]+\.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 但在更改了默认设置后官方提供的规则就会失效。 可以更改规则如下: # 将 RewriteEngine 模式打开

HTACCESS 常用伪静态规则

这一生的挚爱 提交于 2019-12-07 10:27:30
开启重写 RewriteEngine on 表示重写引擎开,关闭off. 修改默认主页 DirectoryIndex weitest.php index.html index.php 可以配置网站目录的默认主页,例如有的服务器默认index.html为主页,而通过DirectoryIndex 则可以设定任意命名的文件为首页 禁止特定IP访问 order allow,deny deny from 192.168.0.2 deny from 192.168.0.3 deny from 192.168.0 deny from .abc.com allow from all 禁止198.168.0.2,192.168.0.3,192.168.0字段内IP,所有来自abc.com域名的访问 禁止访问.htaccess <Files .htaccess> order allow,deny deny from all </Files> 所有人在浏览器打开.htaccess文件会被跳转到403页面 防止图片盗链 RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?example.com/(.*)$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www.)

WAMP SERVER开启rewrite伪静态重写模块

那年仲夏 提交于 2019-12-07 10:26:12
WAMP SERVER一键安装套件在安装完后默认是未开启rewrite伪静态模块,不支持.htaccess rewrite规则,有rewrite规则的源代码运行时,会找不到路径出错。分享一下如何开启rewrite伪静态模块。 第一步:打开wamp安装目录里的bin文件夹,找到Apache安装目录下的conf目录中的httpd.conf配置文件(比如:E:\wamp\bin\apache\apache2.2.22\conf),使用文本编辑器打开 httpd.conf, 搜索mod_rewrite.so关键字找到,“#LoadModule rewrite_module modules/mod_rewrite.so”,找到这一行,去掉前面的“#”。 LoadModule rewrite_module modules/mod_rewrite.so 第二步:找到“AllowOverride None”改为“AllowOverride All”。 针对根目录下所有目录生效: <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> 第三步:重启apache。 第四步:现在可以使用.htaccess文件实现伪静态等功能。

htaccess伪静态导致的403错误

浪尽此生 提交于 2019-12-06 18:37:49
apache安装后伪静态的时候无论如何都无法完成。这时我检查了我的 apache 配置,配置如下: Options Indexes MultiViews AllowOverride All Order allow,deny Allow from all 而且我的 LoadModule rewrite_module libexec/apache2/mod_rewrite.so 也是打开的,很奇怪 typecho 的伪静态设置竟然无法完成。访问首页出现了 403 错误,说我没有权限: You don’t have permission to access /wordpress on this server. 正常情况下 AllowOverride 设置为 all ,rewrite 模块加载,伪静态都是没问题的。 很奇怪的问题,查看了服务器的 log,发现了这样一段: Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /User/user/Sites/wordpress 答案: 如果没有启用mod_rewrite,可以用Options None 来保证安全性。 如果启用了mod_rewrite,