phpStudy开启伪静态的方法

本文介绍了如何在phpStudy环境中开启伪静态功能。首先,通过phpStudy控制面板启用Apache的rewrite_module,接着修改httpd.conf文件允许Override。然后,创建.htaccess文件并添加相应的Rewrite规则,以实现URL的伪静态转换。最后,文中还详细解释了RewriteRule的正则表达式用法及其在301重定向中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、开启apache伪静态功能
1、打开phpstudy控制面板,php扩展及设置 → Apache 模块 , 勾选“rewrite_module”(或直接修改httpd.conf配置文件)
在这里插入图片描述
2、打开Apache目录下的 /conf/httpd.conf 文件,查找AllowOverride None,替换为 AllowOverride All (有多处地方,需要替换)然后保存。
在这里插入图片描述
3、重启phpstudy程序
二、写入Rewrite的伪静态规则
在网站根目录里新建.htaccess文件,在里面写入以下规则:

<IfModule mod_rewrite.c>
   Options +FollowSymlinks
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   #如果页面出现"No input file specified." 请注释第一条,启用第二条
   RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
   #RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]  
</IfModule>

三、rewrite的写法和规则详解
1、RewriteRule是重写规则,支持正则表达式的,([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!

RewriteEngine on #rewriteengine为重写引擎开关:on为开启,off为关闭
RewriteRule ([0-9]{1,})$index.php?id=$1
2、下面的规则可以实现伪静态页面:

RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=2([a−zA−Z]1,)−([0−9]1,).html2 ([a-zA-Z]{1,})-([0-9]{1,}).html2([azAZ]1,)([09]1,).html是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!

3、RewriteEngine on是代表开启rewrite,而RewriteBase / 是表示所有规则前都存在“/”,写了这条之后,你后面所有规则的开头,只需要写“^”就行了,但要注意的是,此规则仅在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略、不必写。

RewriteEngine on
RewriteBase /
4、利用.htacess进行301重定向

RewriteEngine on
RewriteCond %{HTTP_HOST} ^taobao.com$ [NC]
RewriteRule ^(.*) http://www.taobao.com/$1 [R=301,L]
上述规则是将taobao.com 301 到 www.taobao.com。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值