ThinkPHP在SAE下关于url重写的有关问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ThinkPHP在SAE下关于url重写的有关问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1062字,纯文字阅读大概需要2分钟。
内容图文
![ThinkPHP在SAE下关于url重写的有关问题](/upload/InfoBanner/zyjiaocheng/214/9d8f35b1d7684745b89a5c4ee93ba80e.jpg)
thinkphp。
根目录下有config.yaml(因为SAE不支持.htaccess)
内容为:
name: thinktest
version: 1
handle:
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "/index.php/$1"
- rewrite: if(path~"^/test\.html$") goto "/test.php"
关键看第二个重写。
在根目录下有test.html和test.php
访问test.html的时候可以访问到test.php
问题是
有入口文件index.php
Action里有文件IndexAction.class.php
其中index操作代码如下:
echo "";
即页面跳转。
同时在Tpl/default/Index/下有test.html和test.php
此时跳转后不会访问到test.php
不过如果是跳转到根目录下的test.html的话就没问题。
是不是跟config.yaml的作用范围有关?还是有其他原因?
求高手解答!
------解决方案--------------------
thinkphp 的伪静态是通过 PATH_INFO 实现的
唯一可能需要使用 url 重写的是: 隐藏 index.php 文件名
thinkphp 是单一入口的,所以不会出现 http://serverName/test.php 这样的 url
这一点无论是从
.htaccess 的
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
还是config.yaml的
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
都可以看出:他将域名外的所有内容都转换成了index.php的参数
内容总结
以上是互联网集市为您收集整理的ThinkPHP在SAE下关于url重写的有关问题全部内容,希望文章能够帮你解决ThinkPHP在SAE下关于url重写的有关问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。