php url伪静态,PHP url伪静态

PHP url伪静态

作者:Wucl

时间:2014-12-01

章节内容:基础准备、实现过程、个人心得。

1. 基础准备:

在此之前我总结过url重定向的处理,而做url伪静态的基础知识就是url重定向,所以很多基础知识在文中将不再陈述。

项目的url伪静态需求:若url有对应的文件时显示对应的文件,若没有则重定向到index.php。

2. 实现过程:

1) 确认自身情况:有2个以上的PHP程序存放在同一服务下,对服务的主配置文件有777权限。

2) 在本地完成两个测试项目的url伪静态:因为修改主配置文件需要重启服务才会生效,所以为避免频繁的重启服务,我选择.htaccess文件做url伪静态初步设计。经过反复的测试最终定格配置如下:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^extract\/.*$ extract/index.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^daily\/.*$ daily/index.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^.*$ index.php [QSA,L]

3) 把配置从.htaccess文件迁移到主配置文件:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^extract\/.*$ extract/index.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^daily\/.*$ daily/index.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^.*$ index.php [QSA,L]

4) 关闭主配置文件重定向设置,原因如下(百度搜搜):

性能:如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,因此,无论是否真正用到,启用.htaccess都会导致性能的下降。另外,对每一个请求,都需要读取一次.htaccess文件。

还有,Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用(参见指令的生效),所以,如果请求/www/htdocs/example中的页面,Apache必须查找以下文件:

/.htaccess

/www/.htaccess

/www/htdocs/.htaccess

/www/htdocs/example/.htaccess

3. 个人心得:

回头直接看最终配置时,感慨发现多么简单的配置啊!但只有自己明白这个“简单的配置”是通过不断的查找资料、不断的测试才得出结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值