php中使用伪静态

FastAdmin Apache下设置伪静态 通过在Apache服务器上设置伪静态,我们不仅能够提高网站的访问速度,还能使URL更加简洁,有助于SEO优化。FastAdmin的伪静态设置相对简单,只需确保mod_rewrite模块启用,并添加相应的重写规则即可。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章FastAdmin Apache下设置伪静态。 阅读详情

上次简单的说了下php中正则表达式的使用,这一次正则表达式可以派上用场了,学习伪静态需要能够很好的使用正则表达式,那么伪静态和真静态的区别是什么呢,我觉得应该是伪静态可以节约磁盘空间、利于SEO、访问速度上没有真静态那么快。伪静态也是对apache的rewrite机制的使用,下来就来分享下吧

1.使用伪静态首先要确认打开rewrite模块

首先打开httpd.conf,找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#即可之后重启apache,使用phpinfo确认重写模块成功启用

看到有红色这个就说明rewrite已经启用成功了


2.使用伪静态要先在Directory里加一句AllowOverride All

这一句可以加在apache的htdocs的Directory节点里或者虚拟主机的Directory节点里

<Directory "D:/Program Files/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
之后的伪静态重写规则可以在Directory节点里写,也可以写在一个单独的.htaccess文件里,我强烈推荐使用后面这种方式

3.apache指定首页面、错误页

首先新建一个.htaccess文件,一般是先新建一个xx.txt文件另存为即可,这个文件我就放到项目的根目录,这个文件的内容如下

DirectoryIndex index.php
ErrorDocument 404 /static2/404.php

下面先来测试404,我们先访问一个不存在的php看看404生效没有,这个是我的错误页面

<?php
  echo "错误页面";
?>

下面是运行截图

首页的html如下

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>系统首页</title>
</head>
<body>
欢迎
</body>
</html>

我们直接把地址定位到根目录,回车后就能看到我们的这个首页了

还有这么一种情况需要考虑那就是访问的时候apache列出目录结构的问题,其实很简单就在.htaccess加一句Options None,需要注意的是Directory里就不能配置Options了,否则会出现403错误


4.伪静态的使用

http://localhost/static2/view-sports-id5.html类似这种url我们应该见过很多了,这种就是一种伪静态的url了,我们看上去访问的是一个静态的html但其实不是,类似这种url像sports和id后面的5可能就是程序中要使用的参数,我们访问的其实是一个动态页面。这样的话比较利于SEO,下面上一段配置给大家看看

<IfModule rewrite_module>
RewriteEngine on 
RewriteRule view-([a-zA-Z_]+)-id(\d+)\.html news.php?type=$1&id=$2
</IfModule>

RewriteEngine on的意思是启用apache的rewrite引擎

RewriteRule表示重写规则,第一个空格后面的是正则规范后面的news.php?type=$1&id=$2才是真正访问的php页面,$1表示前面正则规范的第一个子表达式的值,$2以此类推,这样我们就可以在news.php取得参数的值

同样的如果是控制器也可以在相应文件夹里写一个.htaccess,之后加上我们的重写规则


5.使用.htaccess来控制访问权限

日常的开发中我们可能在项目里面写了DAO,控制器,工具类这一大堆的php,而这些文件我们是不希望别人通过浏览器访问到,这种情况使用session来限制似乎也不奏效,这种情况使用重写规则就很简单了

RewriteRule [a-zA-Z0-9_]+\.class\.php 403.html

这样写一句程序之外访问就跳转到另外一个页面,实现了访问的控制

6.RewriteCond的使用

有时我们需要判断在某种情况下才使用重写,这种情况就要使用RewriteCond了,例如我们可以判断请求的是不是一个文件(或不存在的文件),如果满足条件才执行重写规则

#如果请求的不是一个文件
RewriteCond %{REQUEST_FILENAME} !-f
#并且不是一个目录
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ccc.html index.php

这段配置的意思就是如果请求的ccc.html如果不存在则跳转到index,php

再来看最后一段配置

<ifModule rewrite_module>
RewriteEngine On
#你怎么知道,这个请求就是www.hsp.com发来的. referer
#如果你请求的是一个jpg图片, 就禁止
RewriteCond %{HTTP_REFERER} !www.hsp.com  
RewriteRule .*\.jpg -[F]
</ifModule>
[F]表示拒绝访问,其他的看看注释应该能看懂


最后总结一下,日常开发中并不是所有的页面都要静态化,例如后台系统、基金股票等要求实时性很高的页面或网站、实时话费或流量查询页面、学历查询页面不适合静态化,对应内容相对稳定的例如宣传性质的网站首页可以考虑使用真静态,如果不想使用真静态但是又希望利于SEO伪静态应该是一个不错的选择。



PHP 伪静态详解及实现方法 PHP伪静态实现方法 阅读详情

相关推荐

使用Apache服务器实现IIS伪静态插件并优化PHP技巧

这是一个简单的示例规则,将匹配URL中的/articles/后跟一个数字,并重写到article.php?你可以根据你的需求修改和扩展这些规则。在本文中,我将介绍如何在Apache服务器中实现类似IIS的伪静态插件,并提供一些优化PHP的技巧。以下是详细的操作步骤和相应的源代码。请注意,以上只是一些常见的优化技巧,具体的优化方法可能因应用场景和需求而异。希望这些信息对你有帮助!如果你有任何进一步的问题,请随时提问。二、创建.htaccess文件并设置伪静态规则。一、安装和配置Apache服务器。

VtteAlgorithm的博客 303

Apache开启PHP的伪静态模式

Apache开启PHP的伪静态模式

IT老大哥 1764

ZYNQ-7035+HMCAD1511高速数据采集系统设计

高速数据采集是电子测量、雷达信号处理与通信基带验证的核心技术基础,其性能瓶颈常集中于采样率、通道同步性与实时处理能力。基于ADC采样原理与SoC异构架构,高带宽、低抖动时钟链路与FPGA+ARM协同处理成为突破关键。ZYNQ-7035凭借275K逻辑单元与千级DSP资源,显著提升LVDS数据流吞吐与片上滤波/触发等实时算法部署能力;HMCAD1511则以1GSPS四通道同步采样和8位分辨率,满足示波器级动态范围需求。该组合广泛应用于嵌入式信号采集平台开发、教学实验系统构建及国产化仪器原型验证。

weixin_28939623的博客 262

apache的伪静态怎么写

`,它匹配以`/article/`开头,后面跟着一个或多个数字,然后是可选的斜杠和问号的URL。括号中的`([0-9]+)`表示将匹配到的数字捕获到一个名为`$1`的变量中。id=123`的URL转换为`https://www.example.com/article/123`的伪静态URL。替换部分是一个字符串,用于替换匹配到的URL。id=$1`,它将匹配到的数字变量`$1`插入到`article.php`文件的查询字符串中。最后,`[L]`标志告诉Apache停止处理后续的规则,以便仅应用这个规则。

m0_52238827的博客 698

Tailscale 自建 DERP 中继服务器

Tailscale自建DERP中继服务器

Accompagner的博客 4333

避坑指南:PyCINRAD处理CINRAD雷达数据时遇到的5个典型报错及解决方案

本文针对使用PyCINRAD库处理CINRAD雷达基数据时常见的5个典型报错,提供了详细的解决方案。内容涵盖环境配置、数据读取、PPI可视化及性能优化等核心环节,重点解决了版本兼容性、数据异常处理和中文乱码等实际问题,帮助用户高效处理雷达基数据并生成准确的PPI图像。

cc789的博客 1068

apache配置优化之伪静态设置

两种方法 Apache伪静态配置方法有两种: 在网站根目录下添加文件,.htaccess,在此文件内写伪静态规则,使用它需要在apache配置文件http.conf中完成相应配置.具体配置方法网上很多,这里不再赘述. 而另一种是直接在httpd.conf中使用.这种方法性能高于前者。 应用场景 (1),采用.htaccess的场景 用户需要针对特定目录改变服务器的配...

烂笔头 1万+

从零开始:使用PacBio HiFi和ONT超长读取组装基因组(保姆级教程)

本文提供了一份从零开始的基因组组装保姆级教程,详细讲解了如何融合PacBio HiFi高精度读长与ONT超长读长数据。内容涵盖数据质控、预处理、混合组装策略选择、结果评估及Hi-C支架构建等关键步骤,旨在帮助研究人员获得高质量的完整基因组。

weixin_29266647的博客 204

PHP 伪静态

前言 PHP 伪静态 使用apache实现伪静态 第一步httpdconf去注释 第二步更改重写权限 第三步按需添加伪静态规则 重写规则详解 入门级 RewriteRule indexhtml indexphp 菜鸟级 RewriteRule index-a-z0-9html indexphpname1 进阶级 RewriteRule a-z1-0-91html indexphpname1age2

更上一层楼! 8328

【YoloV12改进策略】基于流形约束超连接(mHC)增强YoloV12全局特征提取能力_独家复现_梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1355

第十二天:Python字典(Dict)详解

字典(Dictionary)是Python中最强大的数据类型之一,它是一种可变的、无序的键值对(key-value)集合。字典中的元素是通过键(key)来存取的,而不是通过偏移量(如列表中的索引)。 字典的核心特性包括: 键值对结构:每个元素由一个键和一个值组成,中间用冒号(:)分隔 无序性:字典中的元素没有固定的顺序(Python 3.7+版本中字典会保持插入顺序,但不应依赖此特性进行顺序操作) 可变性:可以动态地添加、修改或删除键值对 键的唯一性:字典中的键必须是唯一的,如果重复,后面的键值对会覆盖

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1679

谈谈关于php伪静态

PHP开发中的伪静态技术解析:通过URL重写使动态网址呈现静态形式,提升SEO效果。文章对比了真静态、动态和伪静态的优缺点,指出伪静态既能保持URL简洁又能传递有效参数,但需避免会话ID等冗余信息。文中提供了四种PHP实现伪静态的方法,并建议根据网站需求选择合适方案,同时提及服务器自带的重写功能也可实现。核心观点是伪静态在SEO和性能之间找到了平衡点,适合大多数网站使用。

oqqHeng12345678911的专栏 985

30. 用GPT-4自动生成测试用例的完整流程

利用GPT - 4生成测试用例面临的主要问题包括:如何准确地将软件需求转化为GPT - 4能够理解的输入提示,以确保生成的测试用例覆盖所有关键功能;如何评估生成的测试用例的有效性和充分性;如何处理生成的测试用例中的错误或不合理之处;以及如何将生成的测试用例集成到现有的测试框架中。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 472

php 伪静态作用,伪静态是什么?php使用伪静态的意义?

有很多小伙伴们都是在做php开发工作,很多时候你们可能都会听到php伪静态这么一说,可能其中有很多小伙伴不知道什么是php伪静态,那么我们今天就带大家了解下什么是php伪静态,以及php使用伪静态的意义在哪?伪静态是相对真实静态来讲的.一、什么是静态技术?所谓静态的意思,就是地址中不带问号。伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写 URL 方法实现去掉动...

weixin_30236323的博客 713

【DRAM存储器五十七】LPDDR5介绍--read DQ training和WCK DQ training

简述LPDDR5训练中的读写DQ训练

highman110的博客 522

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

php中什么是伪静态,php伪静态的写法是什么

php伪静态的写法:首先打开编辑器;然后输入方法代码【$_GET[$Php2Html_TmpArray[0] = $Php2Html_TmpArray[1];print* g m &_r@ o a _ ` { :($_GET)】。【相o E k ( 3 C T E %关学习推荐:php伪静态的写法:伪静态方法一//// localhost/php100/test.php?id|1@acti...

weixin_39656174的博客 299

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

PHP环境部署伪静态教程

前言   在用PHP语言开发网站的时候,伪静态是一个绕不过去的一道坎,在PHP中设置伪静态对于老手来说是手到擒来,但是对于新手来说稍微有点难度,还没有掌握的小伙伴们不要着急,下面跟着小编一起来学习吧。 正文 一、Apache的伪静态配置 1、网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为 2、在apache的配置文件httpd.conf中查找 : LoadModule...

a6984021的博客 3111

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php伪静态教程,PHP伪静态的图文代码详细介绍

前言关于伪静态的话题,众说纷纭。我不是很在意这些讨论,但是有一些大牛给出的看法确实是很有味道的, 而且也是比较的公正。使用了伪静态的话,会耗费CPU资源,但是对于SEO什么的更加有益;不适用伪静态而是使用纯静态(如html)的话,会造成硬盘读写瓶颈;不管怎样,秉承学习新知识的理念,了解一下伪静态的实现还是挺好的。与JavaWeb中实现伪静态的思路有点不太一致(但是原理其实上是一致的啦,不过多解释了...

weixin_28707365的博客 800

怎样实现php伪静态,php如何用程序实现伪静态

web页面要实现伪静态,主要目的是为了seo考虑的,因为静态url相对于动态url来说更利于搜索引擎的抓取。一般实现伪静态的方法都是通过.htaccess urlrewrite实现的。但是如果你的虚拟主机不支持urlrewrite的话,那就要另想办法了,这里和大家分享一下如何使用php程序来实现网站的伪静态功能。由于每个网站要伪静态的url都不一样,所以这里就通过举几个例子说明一下实现的办法,具体...

weixin_36361600的博客 360

php伪静态的写法,php伪静态的写法

伪静态对于大多数较为正规的网站都会有用到,这些问题自然而然也就成为了一些php爱好者?们的追求,在很多mvc框架中伪静态成为了一种必须,去除服务器配置 看下下边4种方法,你可能对此很感兴趣 ?php //伪静态方法一 // localhost/php100/test.php?id|1@actio伪静态对于大多数较为正规的网站都会有用到,这些问题自然而然也就成为了一些php爱好者?们的追求,在很多m...

weixin_27219587的博客 345

php 伪静态的使用方法,伪静态是什么?php使用伪静态的意义?

有很多小伙伴们都是在做php开发工作,很多时候你们可能都会听到php伪静态这么一说,可能其中有很多小伙伴不知道什么是php伪静态,那么我们今天就带大家了解下什么是php伪静态,以及php使用伪静态的意义在哪?伪静态是相对真实静态来讲的.一、什么是静态技术?所谓静态的意思,就是地址中不带问号。伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写 URL 方法实现去掉动...

weixin_42519126的博客 162

php开发伪静态,php伪静态怎么开发

伪静态是什么:网站分为动态网站和静态网站,我们常见的以html结尾的一般都是静态页面,以.php.asp结尾的页面一般是动态网站,动态网站是有和数据库进行交互才被称为动态网站,动态网站由于不容易被搜索引擎搜录所以才有了伪静态这么一说。伪静态顾名思义就是假的静态网站,也就是说动态网站为了方便被搜索引擎收录,利用服务器的rewirte实现的假静态的过程。首先说明一下伪静态的好处好不足之处1.方便搜索引...

weixin_28717611的博客 137

php伪静态成html,php伪静态后html不能访问如何解决

php伪静态后html不能访问如何解决发布时间:2020-09-22 10:05:38来源:亿速云阅读:65作者:小新php伪静态后html不能访问如何解决?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!php伪静态后html不能访问的解决办法:首先判断文件是否存在;然后设置存在则不rewirte,不存在且符合规则才...

weixin_30046717的博客 968

php 伪静态是什么意思,php伪静态的写法是什么

php伪静态的写法:首先打开编辑器;然后输入方法代码【$_GET[$Php2Html_TmpArray[0] = $Php2Html_TmpArray[1];print_r($_GET)】。【相关学习推荐:php图文教程】php伪静态的写法:伪静态方法一...

weixin_30118803的博客 252

php网站怎么伪静态,php网站启用伪静态的方法

PHP网站开启伪静态的步骤1、打开apache的配置文件httpd.conf找到#LoadModule rewrite_modulemodules/mod_rewrite.so把前面#去掉。没有则添加,但必选独占一行,使apache支持mod_rewrite模块,找到## Possible values for the Options directiveare "None", "All",# or...

weixin_35338559的博客 911

怎样实现php伪静态,php实现伪静态的二种方法介绍

一、根据$_SERVER['PATH_INFO']来操作实现。示例:http://127.0.0.1/show_new.php/look-id-1.shtmlecho $_SERVER['PATH_INFO'] 的输出为:/look-id-1.shtml。1、index.php复制代码 代码示例:/*** php伪静态* www.jbxue.com*/$conn=mysql_connect("lo...

weixin_31061573的博客 1490
上一篇: php使用正则表达式
下一篇: php使用phpexcel开发库生成和读取excel
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值