ThinkPHP在SAE下关于url重写的问题

kchen24 2012-05-13 01:46:41
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 "<script language='javascript'>";
  echo " location='".APP_PATH."Tpl/default/Index/test.html';";
  echo "</script>";

即页面跳转。
同时在Tpl/default/Index/下有test.html和test.php
此时跳转后不会访问到test.php

不过如果是跳转到根目录下的test.html的话就没问题。

是不是跟config.yaml的作用范围有关?还是有其他原因?

求高手解答!
...全文
354 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-05-13
  • 打赏
  • 举报
回复
pathinfo是个web服务器支持的东西,xxx.php/xx/yy/xx的URL也会调用xxx.php,应该是这样。

URL重写还得程序员去写正则,pathinfo省事了。 这和URL路由两码事,。
kchen24 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

thinkphp 的伪静态是通过 PATH_INFO 实现的
唯一可能需要使用 url 重写的是: 隐藏 index.php 文件名

thinkphp 是单一入口的,所以不会出现 http://serverName/test.php 这样的 url

这一点无论是从
.htaccess 的
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
还……
[/Quote]

哦,我大概明白是什么意思,应该是我把伪静态和url重写搞混了,而且之前的想法也有错误的地方。
always, thx!
xuzuning 2012-05-13
  • 打赏
  • 举报
回复
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的参数
kchen24 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

既然你使用 thinkphp,就应该接受他的解决方案
自做主张的改变约定的方案,只能是自找麻烦
[/Quote]

接受thinkphp的解决方案?
我现在用的就是thinkphp,但是要放到sae上面去的话就得使用config.yaml,因为上面已经说明不能使用.htaccess而要那个配置。而且那个配置在外面也已经起作用了。
我只是想问为什么在里面不起作用?
那我想问,如果只是thinkphp,不要使用config.yaml而用.htaccess的话,应该怎么弄?怎样让index操作里面的跳转也能实现url重写?
xuzuning 2012-05-13
  • 打赏
  • 举报
回复
既然你使用 thinkphp,就应该接受他的解决方案
自做主张的改变约定的方案,只能是自找麻烦
kchen24 2012-05-13
  • 打赏
  • 举报
回复
如果不用config.yaml而用.htaccess在本地运行的话,也是有这个问题。

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧