php服务器伪静态(php伪静态规则写法)
- 服务器
- 2022-12-18 21:19:24
- 19
本篇文章给大家谈谈php服务器伪静态,以及php伪静态规则写法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
什么叫php伪静态?
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法
1.检测Apache是否支持mod_rewrite
通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
2.让apache服务器支持.htaccess
如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),
用文本编辑器打开后,查找
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
就可以了。
3.建立.htaccess 文件
有1种最简单的方法建立.htaccess文件:
用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,
也就是包含英文引号,然后点击保存就行了。
4.rewrite规则学习
我们新建一个.htaccess文件之后,就在里面写入以下内容:
RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭
RewriteRule ([0-9]{1,})$index.php?id=$1
我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数
字组成的,$是结束标志,说明是以数字结束!
好吧,现在我们可以实现伪静态页面了,写下一下的规则:
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1id=$2
([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1id=$2是要替换的格式,$1代表第
一个括号匹配的值,$2代表第二个,如此类推!!
我们写一个处理的PHP脚本:
index.php
PHP代码
echo ‘你的Action是:’ . $_GET['action'];
echo ‘
’;
echo ‘你的ID是:’ . $_GET['id'];
?
好了,我们现在在浏览器中输入:
localhost/page-18.html
输出的是:
你的Action是:page
你的ID是:18
怎样测试服务器是否支持PHP的伪静态?
1. 第一:检测 apache是否开启mod_rewrite
2. 通过php提供的phpinfo()函数查看环境配置,在"apache2handler — Loaded
Modules"里看是否有"mod_rewrite"模块,如没开启则在apache配置文件httpd.conf 中找到"#LoadModule
rewrite_module modules/mod_rewrite.so"去掉前面的"#"号,重启apache即可
3. 第二:检测apache是否支持 ".htaccess"
4.如测试中不支持".htaccess",那在apache配置文件httpd.conf 中找到""与""内的"AllowOverride
None"改为"AllowOverride All",重启apache即可
5.
{让apache服务器支持.htaccess,如何让自己的本地Apache服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让支持.htaccess了。打开httpd.conf文件,用文本编辑器打开后查找
6. Options FollowSymLinks
7. AllowOverride None
8. 改为
9.Options FollowSymLinks
10.AllowOverride All
11.就是把None修改为All}
12. 第三:创建.htaccess 文件
13. 创建.htaccess
文件方法:新建文本文档,名字为"htaccess.txt",再打开"htaccess.txt"另存为,此时注意,名称改为
"".htaccess""保存即可
14. 第四:测试伪静态实例
15. .htaccess文件中输入:
16. RewriteEngine on
17. RewriteRule ([a-zA-Z])-([0-9])-([0-9])\.html$
index.php?action=id=page=
18. 新建index.php文件并输入:
19. echo 'action='.$_GET['action'];
20. echo '
id='.$_GET['id'];
21. echo '
page='.$_GET['page'];
22. ?
23. 在地址栏中输入 按回车将显示出参数:
24. action=view
25. id=8
26. page=2
php怎么配置伪静态
第一步:找到apache的配置文件httpd.conf 按照下面配置
第二步: 找到apache的配置文件httpd.conf 按照下面配置
第三步:
在网站根目录直接建一个.htaccess文件 这里面是写伪静态规则的。就想php的正则表达式
但语法和php正则略有不同,你可以直接到网上搜索伪静态正则。这个文件可以用记事本创建直接保存文件名为.htaccess 记住文件名字第一个字符是英文的点。。祝你好运,不会call我
php 伪静态是什么意思?怎么做?
说简单点,伪静态,就是用户看到的地址以html.htm等静态页面的链接,实际还是动态页过,通过一些规则配置,显示在浏览器中的地址变为静态而以。举个简单的例子:比如你的页面为/index.php通过伪静态显示在浏览器是index.html
PHP本地如何实现伪静态页面
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
主要步骤如下: 1.检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,将前面的”#”号删除即表示取用该功能。 如果没有查找到“LoadModule” 区域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(独占一行),之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。
2.让apache服务器支持.htaccess 如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。打开 APACHE目录的CONF目录下的httpd.conf文件,找到: Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。
3.建立.htaccess 文件 建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。
4.rewrite规则学习 在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,$表示结束标志,表示以数字结束!如果要实现伪静态页面,规则如下: RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1id=$2 在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1id=$2是要替换的格式,$1代表第1括号匹配的值,$2代表第二个括号的值,如此类推! 测试PHP脚本如下: index.php文件中的代码如下: echo ‘你的Action值为:’ . $_GET['action']; echo ‘ ’; echo ‘ID值为:’ . $_GET['id']; ?
在浏览器地址栏输入: localhost/page-18.html 输出的是: 你的Action值为:page ID值为:18
关于php服务器伪静态和php伪静态规则写法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文由admin于2022-12-18发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:https://www.qnphp.com/post/6029.html